多态:同一个操作于不同对象,有不同的解释,具备不同的结果
比如:小狗,小猫都继承于动物,均实现了动物的运动接口,那么小狗,小猫的运动均是其具体的运动,即不同的解释
Dog extends Animal
Cat extends Animal
Animal dog = new Dog()
dog.go() // 小狗慢悠悠地行走
Animal cat = new Cat()
cat.go() // 小猫到处乱跑
特征:
- 有继承的父类或者接口
- 子类必须实现(重写)父类或者接口
- 父类的引用指向子类的对象
| 重载 | 重写 |
|---|---|
| 编译期 | 运行期 |
| 方法名相同,参数不同 | 方法名和参数都相同 |
重载遵循编译期绑定,即编译时根据参数类型决定调用哪个方法 重写遵循运行期绑定,即运行时根据引用的实际对象的类型调用方法
参考资料
Hollis 大神的《2023全新Java面试宝典课程,八股文学习资料》