class X
{
Y b = new Y();
X() {
System.out.print("X");
}
}
class Y
{
Y() {
System.out.print("Y");
}
}
public class Z extends X {
Y y = new Y();
Z() {
System.out.print("Z");
}
public static void main(String[] args) {
new Z();
}
}
// new Z();的时候,不是先走Z(),Z中先运行 X() 打印X先吗,为什么结果是Y先啊!!!!!
因为你创建 new Z()对象的时候,运行 Y y = new Y();这句代码,这句代码在创建new Y对象,所以就先执行class Y
{
Y() {
System.out.print("Y");
}
}
这个类里面的代码了;
|