继承中代码的执行顺序
PPG007 ... 2021-12-28 Less than 1 minute
# 继承中代码的执行顺序
顺序依次向下:
- 父类静态对象,父类静态代码块。
- 子类静态对象,子类静态代码块。
- 父类非静态对象,父类非静态代码块。
- 父类构造函数。
- 子类费静态对象,子类非静态代码块。
- 子类构造函数。
Tips
如果子类重写了父类中的某些方法,则创建子类时,父类的代码块、构造器中使用到被重写的方法都会被替换为重写后的方法。
不会初始化子类的几种情况:
- 调用的是父类的 static 方法或者字段。
- 调用的是父类的 final 方法或者字段。
- 通过数组来引用。