public class SuperClass{
public SuperClass(){
System.out.println("Super class");
}
}
public class SubClass extends SuperClass{
int i;
{
i=10;
}
public SubClass(){
System.out.println("Subclass");
}
public static void main(String[] args){
SubClass sc = new SubClass();
}
}
我在所有可能的地方进行了调试,我首先看到创建实例时,它首先进入 SuperClass 构造函数并打印 Super Class ,然后才进入实例变量,然后是初始化块,最后是 SubClass 构造函数并打印子类。
但是,我在某个地方读到过,在子类构造函数内部是默认调用 super() 的地方,也就是当它转到超类构造函数的时候!!!