1>Java会自动在导出类的构造器中插入其基类构造器的调用
1.1无参的情况
class Art{
Art(){
System.out.println("Art()");
}
}
class Drawing extends Art{
Drawing(){
System.out.println("Drawing()");
}
}
public class Cartoon extends Drawing{
//在导出类中包含对父类的一个引用
Cartoon(){
System.out.println("Cartoon()");
}
public static void main(String[] args) {
new Cartoon();
}
}
1.2有参的情况:
当基类和子类均为有参构造器的时候,必须得在子类中显示调用父类得构造器,否则报错;如果基类中有无参构造器,子类可以不用显式的调用基类的构造器。
class Game{
Game(int i ){
System.out.println("Game(i)");
}
}
class BoardGame extends Game{
//当基类和子类为有参构造器的时候,必须得在子类中显示调用父类得构造器
BoardGame(int i){
super(i);
System.out.println("Boardgame(i)");
}
}
public class Chess extends BoardGame{
Chess() {
super(11);
}
}