Sobre el constructor parametrizado
- Si define un constructor con parámetros, la estructura sin parámetros predeterminada no será válida a menos que defina otra estructura sin parámetros usted mismo
- La subclase hereda la clase padre no hereda el constructor, pero solo llama explícita o implícitamenteSi el constructor de la clase padre tiene parámetros, la subclase debe llamar al constructor de la clase padre a través de super como se muestra en el constructor. Si el constructor no tiene parámetros, el sistema llamará automáticamente al constructor sin parámetros
public class A{
int x;
public A(){
this.x=1;
}
public A(int x){
this.x=x;
}
}
public class B extends A{
public B(){
}
public B(int x){
super(x)}
public static void main(String[] args){
B b=new B();
b.x==1;
B b2=new B(3);
b.x==3;
}
}
Si no se muestra el constructor de la clase principal, se llamará automáticamente al constructor sin argumentos de la clase principal
public class C extends A{
public C(){
}
public C(int x){
}
public static void main(String[] args){
C c=new C(3);
c.x==1;
}
}