以下数字(1,2,3.........)代表输出顺序。
class W {
{System.out.println("W构造代码块----10"); }
static{System.out.println("W静态代码块----9");}
W() {
System.out.println("W构造方法---11");
}
}
class Y {
{System.out.println("Y构造代码块----5"); }
static{System.out.println("Y静态代码块------4");}
Y() {
System.out.println("Y构造方法....6");
}
}
class X {
{System.out.println("X构造代码块---------3"); }
static{System.out.println("X静态代码块------1");}
Y b = new Y();
X() {
System.out.println("X构造方法....-----7");
}
}
public class Z extends X {
{System.out.println("Z构造代码块---8"); }
W w = new W();
Z() {
super();
System.out.println("Z构造方法....12");
}
static{System.out.println("Z静态代码块-------2");}
public static void main(String[] args) {
//{System.out.println("Z局部代码块"); }
new Z();
}
}