(面试题)类的初始化顺序
类的初始化顺序
一般类:
1. 静态变量
2. 静态初始化块
3. 变量
4. 初始化块
5. 构造器
有继承关系的类:
1. 父类--静态变量
2. 父类--静态初始化块
3. 子类--静态变量
4. 子类--静态初始化块
5. 父类--变量
6. 父类--初始化块
7. 父类--构造器
8. 子类--变量
9. 子类--初始化块
10. 子类--构造器
补充:静态变量和静态初始化块是依照他们在类中的定义顺序进行初始化的。同样,变量和初
始化块也遵循这个规律。
记住:构造方法总是在其内部成员(属性、块)初始化之后,再执行;简而言之:构造方法最后执行。
参考《《经典JAVA面试题解惑系列合集(臧圩人)》.pdf》非常不错