代码:
class Base{
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);
}
}