在 Java 中运行构造函数代码之前,字段是否已初始化?
2022-08-31 12:50:13
任何人都可以解释以下程序的输出吗?我认为构造函数是在实例变量之前初始化的。所以我期望输出是“XZYY”。
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();
}
}