java类中执行顺序
第一步,准备加载类
public class Test{}
第二步,静态变量和静态代码块的加载顺序由编写先后决定
// 静态变量
static int a = 123;
static int b = 456;
第三步,静态块,然后执行静态代码块
// 静态代码块
static {
a++;
}
第四步,new 一个类,但在 new 之前要处理匿名代码块
public static void main(String[] args) {
new Test(); // new 之前处理匿名代码块
}
第五步,按照顺序加载匿名代码块
static {
b++;
}
第六步,按照顺序加载变量
static int c = 789;
static int d = 101;
第七步,最后加载构造函数,完成对象的建立
Test() {
System.out.println("test()");
}
第八步, 静态方法,调用的时候才加载
static vodi run() {
System.out.println("run()");
}