类加载顺序
- 父类的静态变量和父类静态块赋值
- 自身的静态变量赋值和自身的静态块赋值
- 父类成员变量赋值和父类块赋值
- 父类构造函数赋值
- 自身成员变量赋值和自身块赋值
- 自身构造函数赋值
注意
1.变量和代码块那个在前那个先加载
2.如果在加载静态变量或者代码块时触发了非静态的构造函数加载,则接着加载非静态的,再静态
public class A {
static A aclass = new A();
static {
System.out.println("1");
}
{
System.out.println("2");
}
A() {
System.out.println("3");
System.out.println("a="+a+",b="+b);
}
public static void getA() {
System.out.println("4");
}
public static void main(String[] args) {
getA();
}
int a = 110;
static int b = 112;
}