Super 关键字赋予子类调用父类成员的能力,包括构造方法、被子类遮蔽的成员变量和方法。

调用父类构造方法

  • 子类不会自动继承父类的构造方法。
  • 若需调用父类构造方法,可使用 super 关键字,且 super 语句必须位于子类构造方法的第一行。
  • 创建子类对象时,总会调用父类的某个构造方法。
    • 默认情况下,调用的是父类不带参数的构造方法。
    • 若父类仅有带参构造方法,子类构造方法中必须使用 super 语句显式调用,否则将导致编译错误。
  • 若子类构造方法中未显式使用 super 语句,编译器会默认添加 super(); 语句,调用父类的不带参构造方法。

调用被遮蔽的成员

  • 当子类成员与父类成员同名时,称父类成员被子类“遮蔽”。
  • 使用 super 关键字可以访问被遮蔽的父类成员变量和方法。