子类构造函数在调用时第一行隐藏了super();
class Some{
Some(){ //无参的构造函数
System.out.println("Some()");
}
}
class Other extends Some{
Other(){ //无参的构造函数
//super();
System.out.println("Other()");
}
}
public class test1{
public static void main(String[] args){
new Other();
}
}
如图,子类在调用构造函数时,首先调用了父类的无参的构造函数。如果父类中重写了构造函数,没有无参的构造函数,就会出现下列情况:
编译失败,应手动加上super(10);//视程序而定,总之要手动调用父类的构造函数。