class X{
Y y=new Y();
public X (){
syso("X");
}
}
-----------------------
class Y{
public Y (){
syso("Y");
}
}
------------------------
打印结果:Y X Y Z
步骤:加载class
class Z extends X{ 在堆内存中开辟空间
Y y=new Y (); 变量的默认初始化父类数据
public Z(){ 变量的显示初始化父类数据
syso("Z"); 构造代码块初始化
构造方法初始化
遇到extends 就要分层初始化
}
}
----------------------------
class Demo{
public static void main(String[] args){
Z z=new Z();
}
}