父类–静态变量/父类–静态初始化块
子类–静态变量/子类–静态初始化块
父类–变量/父类–初始化块
父类–构造器
子类–变量/子类–初始化块
子类–构造器
注意:
类的静态变量和静态初始化块的初始化是在父类的变量、初始化块和构造器初始化之前就完成了;
静态变量、静态初始化块顺序取决于它们在类中出现的先后顺序
变量、初始化块初始化顺序取决于它们在类中出现的先后顺序。
通过子类引用父类的静态字段,不会导致子类初始化
常量在编译阶段会存入调用类的常量池中,本质上没有直接引用到定义常量的类,不会触发定义常量的类的初始化。
当调用目标类的静态变量或静态方法时,不会触发该类的代码块和构造方法的执行。