前提
方法重写表现
**public > protected > default**
- 比如在父类声明的同类方法是public修饰,在子类中就必须是public,因为没有大于它的,只能相同
- 如果在父类声明的同类方法是protected修饰,在子类中就可以是protected或者public,相同或者大于
方法重写
不能重写父类的private方法,如果定义的话只是定义了一个新方法,不是方法重写
运行时多态
后期绑定
如果被调用的方法在编译期无法被确定下来,只能够在程序运行期根据实际的类型绑定相关的方法,这种绑定方式也被称之为后期绑定
运行时多态
方法重写是根据实际的类型决定调用哪个重写的方法,发生在运行期间,也叫做运行时多态
- 方法重载叫做编译时多态
- 方法重写叫做运行时多态