Java类初始化顺序:
1.静态成员变量最先初始化 b=new B()
2.静态代码块 static{ }
3.实例成员变量初始化 a = new A()
4.实例代码块 { }
5.构造函数最后初始化 Test(){}
public class Test {
private final static B b = new B();
//final int y;
private A a = new A();
private static String s1="abc";
private String s2;
static {
System.out.println("static 1");
//x+=3;
}
public static void main(String[] args) {
Test t = new Test();
}
{ //x+=2;
//y+=2;
System.out.println("2");
}
static {
//x+=6;
System.out.println("static 2");
}
static void c(int c){
c= 100;
}
}
class A{ public A(){ System.out.println("A"); }}class B{ public B(){ System.out.println("B"); }}