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

JAVA: constructores con herencia de clases

Estas en el tema de JAVA: constructores con herencia de clases en el foro de Programación General en Foros del Web. Hola estoy programando en Java con el entorno NetBeans 6.1 Bien, tengo el siguiente caso (ejemplificado) public class clase1 { //Constructor de 1 argumento clase1(String ...
  #1 (permalink)  
Antiguo 22/12/2008, 06:36
 
Fecha de Ingreso: junio-2005
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
JAVA: constructores con herencia de clases

Hola estoy programando en Java con el entorno NetBeans 6.1

Bien, tengo el siguiente caso (ejemplificado)

public class clase1 {

//Constructor de 1 argumento
clase1(String nombre) { lo quesea}
}

public class clase2 extends clase1{

//Constructor sin argumentos
clase2() { lo q sea}
}

Pues bien, NetBeans me indica error en el constructor clase2(), diciendome que no encuentra el constructor clase1() (sin argumentos), evidentemente si añado un constructor a la clase1 sin argumentos, desaparece el error. (pero es que no me interesa ese caso)

¿Porque sucede este error, esque esto no es posible en Java, quizas haya un punto de herencia que me he perdido, y por eso no lo entiendo?

Espero vuestra ayuda, gracias
  #2 (permalink)  
Antiguo 26/12/2008, 02:53
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: JAVA: constructores con herencia de clases

¿Qué es el "lo que sea" que tienes dentro del constructor sin argumentos de clase2?
  #3 (permalink)  
Antiguo 28/12/2008, 13:03
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: JAVA: constructores con herencia de clases

Cita:
Iniciado por jlsonic Ver Mensaje
¿Porque sucede este error, esque esto no es posible en Java, quizas haya un punto de herencia que me he perdido, y por eso no lo entiendo?
Hola,

Una explicación demasiado breve ...

Si el constructor de Clase2 no comienza con una llamada explicita a un constructor de la superclase, automáticamente se le agrega una llamada al constructor de la superclase 'super();'.

Pero Clase1 no tiene el constructor sin parámetros, un Default Contructor agregado por el compilador, porque tiene un constructor explicito, con parámetros.

Y Clase1 no obtiene el Default Contructor de Object por que los constructores nunca son heredados, solamente se llama al constructor de la superclase por medio de 'super();'. Explicita o implícitamente, según lo hayas escrito o el compilador le haya agregado uno por la falta del mismo.

Saludos,

ps:

Creo que venkman se refería a que "lo que sea" fuera una llamada a un constructor de la superclase, y la falta del mismo te genera ese error.

Última edición por HackmanC; 28/12/2008 a las 13:13 Razón: ps
  #4 (permalink)  
Antiguo 28/12/2008, 13:56
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: JAVA: constructores con herencia de clases

Sí, HackmanC. Simplemente quería tener el ejemplo completo antes de contestar.
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 14:23.