初始化过程包括以下几个过程:
构造器开始‘{’-->>调用父类构造器-->>成员变量初始化-->>构造器体内语句-->>构造器结束‘}’
代码后面的注释代表执行顺序。
输出结果:YXYZ
构造器开始‘{’-->>调用父类构造器-->>成员变量初始化-->>构造器体内语句-->>构造器结束‘}’
代码后面的注释代表执行顺序。
package scjp;
class X{
Y b=new Y();//4
X(){//3
System.out.println("X");//7
}
}
class Y{
Y(){//5//9
System.out.println("Y");//6//10
}
}
public class Z extends X{
Y y=new Y();//8
Z(){//2
System.out.println("Z");//11
}
public static void main(String[] args) {
new Z();//1
}
}
输出结果:YXYZ