Java入门二十二 面向对象三大特征之多态
Posted 秃头仙女
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java入门二十二 面向对象三大特征之多态相关的知识,希望对你有一定的参考价值。
面向对象的三大特征:继承、封装、多态,今天学的是多态,看完后有什么不懂的地方可以问小编,也可以评论里问,我们一起解决。
多态(polymorphism)
在编程语言和类型论中,多态指为不同数据类型的实体提供统一的接口。多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。
计算机程序运行时,相同的消息可能会送给多个不同的类别之对象,而系统可依据对象所属类别,引发对应类别的方法,而有不同的行为。简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作。
多态也可定义为“一种将不同的特殊行为和单个泛化记号相关联的能力”。
多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。比如:同样是调用人“吃饭"的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。
多态的要点:
1、多态是方法的多态,不是属性的多态(多态与属性无关)。
2、多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象。
3、父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。
对象的转型(casting)
1、父类引用指向子类对象,我们称这个过程为向上转型,属于自动类型转换。
2、向上转型后的父类引用变量只能调用它编译类型的方法,不能调用它运行时类型的方法。这时,我们就需要进行类型的强制转换,我们称之为向下转型。
以上是关于Java入门二十二 面向对象三大特征之多态的主要内容,如果未能解决你的问题,请参考以下文章