Foros del Web » Programación para mayores de 30 ;) » Java »

Instanciar objeto cuyo constructor es protected

Estas en el tema de Instanciar objeto cuyo constructor es protected en el foro de Java en Foros del Web. Hola chicos, Pues resulta, que como bien indica el título de mi post, tengo que instanciar un objeto de una clase cuyo constructor tiene la ...
  #1 (permalink)  
Antiguo 23/11/2009, 18:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 26
Antigüedad: 14 años, 8 meses
Puntos: 0
Instanciar objeto cuyo constructor es protected

Hola chicos,

Pues resulta, que como bien indica el título de mi post, tengo que instanciar un objeto de una clase cuyo constructor tiene la cualidad protected y no consigo hacerlo, lo hago así:

ValidatorUtil vu = new ValidatorUtil();

pero tengo el error que "The constructor ValidatorUtil() is not visible".

Indicar que la clase ValidatorUtil está contenida en otro paquete externo a mi codigo y ya le tengo importado.

PD: Soy nuevo en java, por lo que a lo mejor, supongo, el fallo lo tengo en la forma de instanciar el constructor al ser este protected.

Gracias y espero vuestra ayuda craks!!!
  #2 (permalink)  
Antiguo 24/11/2009, 01:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Instanciar objeto cuyo constructor es protected

Un constructor de marca con 'protected' precisamente para evitar que se pueda hacer lo que tú intentas, así que no debe ser la forma correcta de utilizar esa clase. Quizá haya que usar metodos estáticos o tenga algún otro método para obtener una instancia, pero no parece que se tenga que usar el constructor.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 24/11/2009, 05:36
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Instanciar objeto cuyo constructor es protected

Para acceder a esa clase tendrás que buscar un método en otra clase del mismo jar que la contiene que permita llamarla.
  #4 (permalink)  
Antiguo 24/11/2009, 14:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 26
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Instanciar objeto cuyo constructor es protected

Gracias por las respuestas. Voy a vez si encuentro como me comentaís que haya otro método que pueda usar.

Por cierto, googleando un poco, he encontrado que para poder instanciar un objeto cuyo constructor es protected hay que hacerlo desde una subclase es esto cierto?? y en ese caso como sería, me creo una clase que tenga como superclase la clase ValidatorUtil y ya está ????
  #5 (permalink)  
Antiguo 25/11/2009, 02:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Instanciar objeto cuyo constructor es protected

Los atributos/metodos con el modificador "protected" son accesibles desde las clases del mismo paquete o desde las subclases independientemente de donde estén.

Puede decir que tengas que hacer eso para accederlo, o puede que esté puesto para que accedas de otra forma. Eso deberían decirtelo la documentación y el javadoc del API, por que de buenas a primeras pueden ser las dos cosas, aunque si es una librería externa, lo normal es que no te obligue a extender ni meter en ningún paquete.

S!

PD: ¿De que clase en concreto estamos hablando? ¿Es alguna libreria publica como Commons Apache Validator?
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #6 (permalink)  
Antiguo 25/11/2009, 11:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 26
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Instanciar objeto cuyo constructor es protected

Se trata de la clase ValidatorUtil contenida en este paquete es.mityc.facturae.utils, de un API para factura electronica del ministerio de economía,

He estado revisando el javadoc pero no encuentro la forma de poderlo usar sin que me obligue a extender, si no te importa, me dices como te podría poner el javadoc de la clase y me echas una mano?, o podría poner un enlace del javadoc del API?
  #7 (permalink)  
Antiguo 25/11/2009, 15:16
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Instanciar objeto cuyo constructor es protected

Si el API está publico en algun sitio, puedes poner el enlace a ver si vemos algo. Si no, lo mejor es preguntar a los creadores de la libreria o mirar su documentación, si la tienen y está bien escrita... cosa que no siempre sucede. En todo caso la última opción es preguntarles a ellos, nosotros sólo podemos usar la imaginación, pero sin seguridad de nada.
S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #8 (permalink)  
Antiguo 25/11/2009, 18:28
 
Fecha de Ingreso: agosto-2009
Mensajes: 26
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Instanciar objeto cuyo constructor es protected

Si es público,
El enlace del API: vvv.facturae.es/Descargas/Desarrollo/API/

El javadoc hay que descargarlo es este: 193.146.123.247/aplicaciones/facturae/api/Facturae-API-javadoc.zip

Muchas gracias,
s2

PD: cambiar las v´s por w´s, me faltan todavía unos mensajillos jeje
  #9 (permalink)  
Antiguo 26/11/2009, 05:13
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Instanciar objeto cuyo constructor es protected

¿Y el método ValidatorUtil.getInstance()?
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #10 (permalink)  
Antiguo 26/11/2009, 13:40
 
Fecha de Ingreso: agosto-2009
Mensajes: 26
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Instanciar objeto cuyo constructor es protected

Cita:
Iniciado por GreenEyed Ver Mensaje
¿Y el método ValidatorUtil.getInstance()?
La verdad que ya lo había probado pero no se porque no me funcionaba, creo que era porque cuando lo llamaba lo hacía desde la variable que me declaraba y no desde la propia clase para asignárselo a la variable, ahora lo he probado así
ValidatorUtil ve = ValidatorUtil.getInstance();
y funciona!!

Gracias por la ayuda de verdad que me has ayudado mucho

saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:14.