代码演示java的多态 多态 java代码

java中多态是什么意思?什么是多态
1.面向对象的三大特性:封装、继承、多态 。从一定角度来看 , 封装和继承几乎都是为多态而准备的 。这是我们最后一个概念,也是最重要的知识点 。
2.多态的定义:指允许不同类的对象对同一消息做出响应 。即同一消息可以根据发送对象的不同而采用多种不同的行为方式 。(发送消息就是函数调用)
3.实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法 。
4.多态的作用:消除类型之间的耦合关系 。
5.现实中,关于多态的例子不胜枚举 。
下面是多态存在的三个必要条件,要求大家做梦时都能背出来!
多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象 。
多态的好处:
1.可替换性(substitutability) 。多态对已存在代码具有可替换性 。例如,多态对圆Circle类工作,对其他任何圆形几何体 , 如圆环,也同样工作 。
2.可扩充性(extensibility) 。多态对代码具有可扩充性 。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作 。实际上新加子类更容易获得多态功能 。例如 , 在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性 。
3.接口性(interface-ability) 。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的 。如图8.3 所示 。图中超类Shape规定了两个实现多态的接口方法,computeArea()以及computeVolume() 。子类,如Circle和Sphere为了实现多态,完善或者覆盖这两个接口方法 。
4.灵活性(flexibility) 。它在应用中体现了灵活多样的操作 , 提高了使用效率 。
5.简化性(simplicity) 。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时 , 这个特点尤为突出和重要 。
谁能跟我说几个JAVA多态,在现实生活中应用的例子 , 不要说代码和概念,就只说案例有一个比较经典的多态实例:
有一个Animal类 , 它有Cat , 和Dog两个子类,在Animal中有个say方法,当Cat调用这个方法的时候输出的是“小猫喵喵喵”,当Dog调用这个方法时,输出的是“小狗汪汪汪”,这就是Java多态的实现 。
1、定义一种动物 , 该类型的动物有叫的属性 。
2、分别定义猫,狗,鸟,都继承于该动物,都有叫的属性 。
3、分别表示出各个具体小动物的叫声,例如猫的叫声:喵、狗的叫声:汪、鸟的叫声:咻,点是叫声,实现各个具体小动物用的叫声的方法是用的同一个函数名称 , 就是动物的叫声函数 。
多态:
这个案例网上是没有的 , 属于无忌独创 , 当时在帮孩子辅导作业 , 小学科学,里面有一点内容是关于人的牙齿,说牙齿分为:门齿、犬齿、臼齿 。
问闺女,为什么这么分呢?闺女说牙齿虽然都是用来咬食物,但是食物种类很多,咬碎需要的工具也不一样,门齿用来切割食物 , 如:苹果、梨;犬齿用来撕碎食物 。
如肉类;臼齿用来磨碎食物 , 如犬齿撕碎的肉类,就需要再用臼齿来磨碎,然后送到食道,胃,小肠,大肠进行消化 。我恍然大悟,这不就是Java面向对象里的多态吗?多完美啊 。
这也很好说明了为什么会有多态出现,因为生活中就存在太多这种例子,所以需要多态来匹配解决 。

推荐阅读