62,569
社区成员




class X {
Y b = new Y();//9这里是成员变量初始化
static Y sb= new Y();//2父类静态变量,输出static Y(静态代码块先初始化),Y
static{
System.out.println("static X父类静态代码块");//3执行静态代码块
new Y();//4这里只是输出Y,,,没有static Y(静态代码块只执行一次)
}
X() {//8父类构造,完成后执行9成员变量初始化
System.out.println("X");//成员变量初始化之后,执行构造器输出X
}
}
class Y {
static{
System.out.println("static Y");
}
Y() {//5执行构造函数
//这里有个super()==Object()
System.out.println("Y");//5输出Y
}
}
public class Z extends X {
final static int mead=45;
final byte b=16;
static Y sb= new Y();//静态变量1
static{
System.out.println("static Z");//6执行静态代码块
}
Y y = new Y();
Z() {
//7这里有super()==new X()
this.y = null;
System.out.println("Z");
}
public static void main(String[] args) {
new Z();//7到主函数的构造器
}
}
Y
X
Y
Z
你要问什么?