前言
多态是继封装性,继承性之后,面向对象的第三大特性。
一、多态是什么
1.多态的定义
多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。
2.动态绑定
方法调用和方法体在运行时刻的连接就称之为动态绑定。
动态绑定,它意味着绑定在运行期间进行,以对象的类型为基础。动态绑定也叫做“后期绑定”或“运行期绑定”。
若一种语言实现后期绑定,同时必须提供一些机制,可在运行期间判断对象的类型,并分别调用适当的方法。
也就是说,编译器此时依然不知道对象的类型,但方法调用机制能自己去调查,找到正确的方法主体。
不同的语言对后期绑定的实现方法是有所区别的。但至少可以这样认为:它们都要在对象中安插某些特殊类型的信息
3.多态优缺点
优点
1.消除类型之间的耦合关系
2.可替换性
3.可扩充性
4.接口性
5.灵活性
6.简化性
缺点
无法直接访问子类特有成员
二、实例讲解
1.实例分析
如下代码
2.实例引入代码(部分)
代码如下(示例):
父类
新建一个父类:创建 eat 和 play 两个方法,play 方法为静态的
class Employee {
String animal = "动物";
public void eat