JavaSE 学习参考:子类的构造方法

子类继承了父类,子类就拥有父类的成员变量和方法。子类实例化时首先为父类定义的成员变量分配和初始化。这就需要调用父类的构造方法。默认是调用父类的默认构造方法,如果父类没有无参的构造方法,就需要在子类的构造方法中显示地调用父类的构造方法,并且放在构造方法的第一语句。否则发生编译错误。

下例中,子类的构造方法Soun(int a,int b,int c)在第一语句就调用父类Father(int a,int b)构造方法,调用父类构造方法使用关键字super。  如果不这样做将隐式调用默认父类默认构造方法,而本例的Father类并没有提供,将会报编译错误。

classFather {

inta;

intb;

publicFather(inta,intb){

this.a=a;

this.b=b;

}

publicvoidprintLine(){

System.out.println("------------");

}

publicvoidprintValue(){

System.out.println("a="+a+"\tb="+b);

}

}

classSonextendsFather{

intc;

publicSon(inta,intb,intc){

super(a,b);

this.c=c;

}

publicvoidprintValue(){

System.out.println("a="+a+"\tb="+b+"\tc="+c);

}

publicvoidprintStar(){

System.out.println("************");

}

}

publicclassDemo1 {

publicstaticvoidmain(String[]args) {

Sonson=newSon(1,2,3);

son.printLine();

son.printStar();

son.printValue();

}

}

运行程序,结果如下图所示:

JavaSE 学习参考:子类的构造方法_第1张图片

你可能感兴趣的:(JavaSE 学习参考:子类的构造方法)