父类
public class A {
A(){
System.out.println(i);
System.out.println(getValue());
}
A(int m){
System.out.println(m);
}
int i=1;
{
i=2;
}
public int getValue() {
return i;
}
}
子类
public class B extends A {
int j=1;
B(){
j=2;
System.out.println("j为"+j);
}
{
j=3;
}
public int getValue() {
return j;
}
}
主方法
public class C {
public static void main(String[] args) {
B b=new B();
System.out.println(b.getValue());
}
}
运行结果:
当new一个对象时,类的加载顺序为:实例变量初始化,实例代码块初始化,实例构造方法初始化;
本类实例化过程:先进行父类的初始化,再进行本类初始化;
具体过程: