子类的成员可以隐藏和覆盖超类中的相同的成员

超类的对象可以对子类的实例引用

  • Java 的方法调用是基于动态绑定(也叫后期绑定,Late Binding)。这意味着方法的执行是在运行时根据对象的实际类型来决定的,而不是在编译时或对象创建时。
  • 当程序运行并调用对象的方法时,Java 虚拟机(JVM)会根据实际的对象类型而不是引用类型)来决定执行哪个版本的重写方法。
  • 多态性正是通过这种机制实现的,即子类对象可以通过父类引用调用子类中重写的方法。