class X {
Y b = new Y(); ---------1
X() {
System.out.print("X"); ---------------2
}
}
class Y {
Y() {
System.out.print("Y");
}
}
public class Z extends X {
Y y = new Y(); ----------------------3
Z() {
System.out.print("Z"); ------------------------4
}
public static void main(String[] args) {
new Z();
}
}
这个问题就看你了解java加载顺序,这段代码由于有父类,先加载父类的
实例变量,然后是父类的构造函数,接着是子类
|