class X {
Y b = new Y(); //1.0 执行这里 -----打印y
X() { //进入这里 会看看有不有成员变量 有则初始化成员变量
//在执行构造代码块
System.out.print("X"); //2.0 x
} //注意事项 如果本类有成员变量 那么先去执行成员变量初始化
//在执行构造里面
}
class Y {
Y() {
System.out.print("Y"); //
}
}
public class 坑爹 extends X {
Y y = new Y(); //3.0执行这里 -*---》y
坑爹() { //第一步
super();//-----》进入这里找到父类
System.out.print("坑爹"); //最后坑爹
}
public static void main(String[] args) {
new 坑爹();
}
}
打印结果为YXY坑爹
Y b = new Y(); //1.0 执行这里 -----打印y
X() { //进入这里 会看看有不有成员变量 有则初始化成员变量
//在执行构造代码块
System.out.print("X"); //2.0 x
} //注意事项 如果本类有成员变量 那么先去执行成员变量初始化
//在执行构造里面
}
class Y {
Y() {
System.out.print("Y"); //
}
}
public class 坑爹 extends X {
Y y = new Y(); //3.0执行这里 -*---》y
坑爹() { //第一步
super();//-----》进入这里找到父类
System.out.print("坑爹"); //最后坑爹
}
public static void main(String[] args) {
new 坑爹();
}
}
打印结果为YXY坑爹