class X{
Y b = new Y();
X() {
super();
System.out.print("X");
}
}
class Y {
int a = 19;
Y() {
System.out.print("Y");
}
}
public class Z extends X {
Y y = new Y();
Z() {
super();
System.out.print("Z");
}
public static void main(String[] args) {
new Z();
}
}
你代码好像错了,x extends y, YXYZ,你就是想知道Y是干什么的吧?你就把他当个变量需要初始化就行了,Z继承X,开始肯定Z里面y,先初始化,然后下面是z的初始化,这个小心super,就是x初始化后,初始化z,但是x初始化又跟z一样,也有super,所以是y--x,总的就是y---x----y----z