在说这些执行顺序之前,先了解一个小知识:
Java的Java的实例变量和类变量是什么?
类中的成员变量可分为实例变量和类变量,用static修饰的变量称为类变量(也称静态变量),否则称为实例变量。
开始说一下顺序:
(1)父类静态成员变量和父类静态代码块(静态初始化块)。两者之间的先后顺序视具体的代码先后决定。
(2)子类静态成员变量和子类静态代码块(静态初始化块)。两者之间的先后顺序视具体的代码先后决定。
(3)父类实例成员和父类实例初始化块(匿名代码块)。两者之间的先后顺序视具体的代码先后决定。
(4)执行父类构造函数。
(5)子类实例成员和子类实例初始化块(匿名代码块)。两者之间的先后顺序视具体的代码先后决定。
(6)执行子类构造函数。