0811 Java面向对象特征之多态
2017-08-11 16:22
405 查看
一、什么是多态
多态是同一个行为具有多个不同表现形式的能力,多态就是同一个接口,使用不同的实例而去执行不同操作。
二、多态的优点
1.消除类型之间的耦合关系
2.可替换性
3.可扩充性:增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。
4.接口性:多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现。
5.灵活性:多态体现灵活多样的操作,提高了使用效率。
6.简化性:简化代码的编写和修改过程,尤其在处理大量对象的运算和操作。
多态可以使程序有良好的扩展,可以对所有类的对象进行通用处理。但不能解决提高执行速度的问题,因为它基于动态装载和地址引用。
三、多态存在的三个必要条件
1.继承
2.重写
3.父类引用指向子类对象
四、虚方法
虚方法描述被重写的方法的行为怎样影响多态性。
方法的重写,也就是子类能够重写父类的方法。当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法。要想调用父类中被重写的方法,则必须使用关键字super。
五、引用类型转换
向上转型:使用多态时,父类引用子类
向下转型:强制类型转换,父类转子类,instanceof判断一个对象是否属于一个类或者实现了一个接口,检验对象的真实类型避免类型转换异常。
多态是同一个行为具有多个不同表现形式的能力,多态就是同一个接口,使用不同的实例而去执行不同操作。
二、多态的优点
1.消除类型之间的耦合关系
2.可替换性
3.可扩充性:增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。
4.接口性:多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现。
5.灵活性:多态体现灵活多样的操作,提高了使用效率。
6.简化性:简化代码的编写和修改过程,尤其在处理大量对象的运算和操作。
多态可以使程序有良好的扩展,可以对所有类的对象进行通用处理。但不能解决提高执行速度的问题,因为它基于动态装载和地址引用。
三、多态存在的三个必要条件
1.继承
2.重写
3.父类引用指向子类对象
四、虚方法
虚方法描述被重写的方法的行为怎样影响多态性。
方法的重写,也就是子类能够重写父类的方法。当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法。要想调用父类中被重写的方法,则必须使用关键字super。
五、引用类型转换
向上转型:使用多态时,父类引用子类
向下转型:强制类型转换,父类转子类,instanceof判断一个对象是否属于一个类或者实现了一个接口,检验对象的真实类型避免类型转换异常。
相关文章推荐
- Java面向对象设计多态特征理解
- Java面向对象特征之多态及final关键字
- JAVA菜鸟入门篇 - 面向对象特征之:多态 (十八)
- 设计模式学习(一):java 面向对象特征:抽象、封装、多态、继承
- java面向对象基本特征:封装、继承、多态
- java学习之路 之 高级类特性1-面向对象特征之三:多态
- 5.3-全栈Java笔记:面向对象特征(二)封装、多态
- 04_Java面向对象特征之继承与多态
- 面向对象三大特征之多态——Java笔记(七)
- java java面向对象-字段不存在多态特征
- Java面向对象(二)面向对象的特征 --- 封装 、 继承、 多态
- 黑马程序员——Java面向对象封装继承多态
- 面向对象第三个特征----多态II(类型判断)
- java面向对象基础(三):对象转型和多态
- Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解
- java--面向对象之多态3
- 面向对象 -- Java中的封装,继承,多态(上)
- 黑马程序员-JAVA面向对象之抽象、接口、多态
- Java面向对象详谈——封装、继承和多态
- JAVA面向对象-----多态