Java多态性理解
来源:互联网 发布:快递打印软件免费版 编辑:程序博客网 时间:2024/05/29 15:38
多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
多态的作用:消除类型之间的耦合关系。
多态存在的三个必要条件
一、要有继承;二、要有重写;
三、父类引用指向子类对象。
栗子:现实中,关于多态的例子不胜枚举。比方说按下 F1 键这个动作,如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。
Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。
程序小栗子:
abstract class Animal { abstract void eat();}class Cat extends Animal { public void eat() { System.out.println("吃鱼"); } public void catchMouse() { System.out.println("抓老鼠"); }}class Dog extends Animal { public void eat() { System.out.println("吃骨头"); } public void kanJia() { System.out.println("看家"); }}class DuoTaiDemo { public static void main(String[] args) { function(new Cat()); function(new Dog()); Animal a = new Cat();//向上转型 a.eat(); Cat c = (Cat) a;//向下转型 c.catchMouse(); } public static void function(Animal a) { a.eat(); //用于子类型有限 //或判断所属类型进而使用其特有方法 if (a instanceof Cat) { Cat c = (Cat) a; c.catchMouse(); } else if (a instanceof Dog) { Dog c = (Dog) a; c.kanJia(); } }}
Output:
吃鱼
抓老鼠
吃骨头
看家
吃鱼
抓老鼠
0 0
- 深入理解java多态性
- 深入理解java多态性
- 深入理解java多态性
- 深入理解Java多态性
- 深入理解Java多态性
- 深入理解Java多态性
- Java多态性的理解
- 深入理解java多态性
- 继续理解java多态性
- 深入理解java多态性
- 深入理解java多态性
- 深入理解java多态性
- 深入理解java多态性
- 深入理解java多态性
- java 多态性的理解
- 深入理解Java多态性
- 深入理解java多态性
- 深入理解java多态性
- 大三下学期一点想法
- pro*c宿主变量和指示变量
- Codeforces Round #402 (Div. 2) D(简单)(二分)
- 爱思华宝收购 Synchronoss 技术公司旗下 Mirapoint 软件业务
- Android横竖屏切换引起问题的小结
- Java多态性理解
- python精简总结
- Linux任务管理
- 渐进插值的LOOP 曲面细分
- Centos6下nmon 脚本监控服务器系统性能
- IT名企常见面试题总结之Java篇(一)
- Caffe 学习笔记(视觉层(Vision Layers)及参数)
- 什么是 TensorFlow?
- 一些资料网址 备用