一、多态的定义
- 定义:多态就是同一个接口,使用不同的实例而执行不同操作
- 举例说明:如下图1所示,有一个学生类(抽象类),包含三个方法:平均年龄、包含年级、平均学费
另外有三个子类:小学生类、初中学生类、高中学生类
当问平均年龄时,小学生给出是6-10岁,初中生给出的是11-14岁,高中生给出是15-18岁
- 即:对接口中的同一个方法,不同的实例给出了不同的结果
图1 多态
二、多态的三个必要条件
1、继承
如图1所示,定义一个抽象类学生类,小学生类、初中学生类、高中学生类三个子类必须要继承抽象类学生类
2、重写
因为抽象类学生类中的方法,并没有定义具体实现,所以必须在继承抽象类的子类中进行重写方法
注意:普通类继承抽象类时,抽象类的所有方法都必须被重写
3、父类引用指向子类对象
通过调用父类中的方法,来实现调用子类的同名方法
【参考博客】
https://www.runoob.com/java/java-polymorphism.html
http://java.itheima.com/news/20180711/153408.html