对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是
1.(静态变量、静态初始化块)注:这两个的初始化顺序为在类中先后出现的顺序。>
2(变量、初始化块)注:这两个的初始化顺序为在类中先后出现的顺序。>
3 构造器。
我们也可以通过下面的测试代码来验证这一点:
public class InitialOrder {
// 静态变量
public static String staticField = "静态变量";
// 变量
public String field = "变量";
// 静态初始化块
static {
System.out.println(staticField);
System.out.println("静态初始化块");
}
// 初始化块
{
System.out.println(field);
System.out.println("初始化块");
}
// 构造器
public InitialOrder() {
System.out.println("构造器");
}
public static void main(String[] args) {
new InitialOrder();
}
}
输出结果为:
静态变量
静态初始化块
变量
初始化块
构造器