public class Test
{
{
int a=6;
}
}
静态初始化块(类初始化块)
public class Test
{
static{
int a=6;
}
}
- 类初始化阶段,先执行最顶层父类的静态初始化块,直到执行当前类的静态初始化块
- 对象初始化阶段,先执行最顶层父类的初始化、最顶层父类的构造器,直到执行当前类的初始化块、当前类的构造器
- 再次执行无需加载静态初始化块
- 静态初始化块和静态成员变量按顺序执行
- 初始化块与成员变量按顺序执行
- 普通初始化块箭头→构造器
父类静态初始化块
子类静态初始化块
父类普通初始化块
父类无参构造器
子类普通初始化块
子类无参构造器