父类如果为没有带参数的构造器,子类必须显示带其他超类构造器:(求理睬)代码:
Base(){
System.out.println("Base with no arg");
}
}
class Test extends Base{
Test(int v){
}
public static void main(String[] args) {
Test a = new Test(3);
}
}
//输出
Base with no arg
//这里子类里面没有显式调用父类的构造函数,但是父类的构造还是被调用了,说明Java加载类的时候,会加载父类的无参数的构造函数
class Base{
Base(int val){
System.out.println("Base int");
}
}
class Test extends Base{
Test(int v){
//如果这里不调用super(v) 是无法通过编译的
}
public static void main(String[] args) {
Test a = new Test(3);
}
}
|
|