继承中代码的执行顺序

PPG007 ... 2021-12-28 Less than 1 minute

# 继承中代码的执行顺序

顺序依次向下:

  • 父类静态对象,父类静态代码块。
  • 子类静态对象,子类静态代码块。
  • 父类非静态对象,父类非静态代码块。
  • 父类构造函数。
  • 子类费静态对象,子类非静态代码块。
  • 子类构造函数。

Tips

如果子类重写了父类中的某些方法,则创建子类时,父类的代码块、构造器中使用到被重写的方法都会被替换为重写后的方法。

不会初始化子类的几种情况:

  • 调用的是父类的 static 方法或者字段。
  • 调用的是父类的 final 方法或者字段。
  • 通过数组来引用。
Last update: December 28, 2021 13:51
Contributors: PPG007