java 多态

面向对象的三大特性:封装、继承、多态。

1.多态定义
   多态是同一个行为具有多个不同表现形式或形态的能力,即同一个接口,使用不同的实例而执行不同操作。

   如现实中的例子:动物(Anamal)作为父类(存在eat()方法),子类有大熊猫(Panda),狐狸(Fox)实现eat()方
   法,大熊猫的eat()方法是吃竹子,狐狸的eat()方法是吃肉;
   Anamal anamal = new Panda();
   anamal .eat();

   因为 anamal 是 Anamal 的引用,所以调用 anamal 的 eat() 方法时,编译器会去
   Anamal 类查找 eat() 方法 。
   在编译的时候,编译器使用 Anamal 类中的 eat() 方法验证该语句, 但是在
   运行的时候,Java虚拟机(JVM)调用的是 Panda类中的 eat() 方法。
   以上整个过程被称为虚拟方法调用,该方法被称为虚拟方法。

2.多态存在的三个必要条件
   a.要有继承
   b.要有重写
   c.父类引用指向子类对象

3.多态的实现方式
   a.接口实现
   b.继承父类进行方法重写
   c.同一个类中进行方法重载。

4.多态的优点
   a.可替换性(substitutability)
   b.可扩充性(extensibility):多态对代码具有可扩充性
   c.简化性(simplicity):多态简化代码编写和修改过程
   d.接口性(interface-ability):多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的
   e.灵活性(flexibility):在应用中体现了灵活多样的操作,提高了使用效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值