本帖最后由 lpflpy 于 2013-5-28 10:34 编辑
首先,在子类的构造方法(1)执行之前会先执行父类的构造方法,而父类中有变量和构造方法时,会先初始化变量(2,3),再执行构造函数(4).之后再初始化子类的变量(5,6),最后执行子类的构造函数(7);- class X {
- Y b = new Y();//-----2
- X() {
- System.out.print("X");//-----4
- }
- }
- class Y {
- Y() {
- System.out.print("Y");//-----3/6
- }
- }
- public class Z extends X {
- Y y = new Y();//-----5
- Z() {
- System.out.print("Z");//-----7
- }
- public static void main(String[] args) {
- new Z();//-----1
- }
- }
-
复制代码 |