多态的实例
来源:互联网 发布:js 家谱树形图插件 编辑:程序博客网 时间:2024/06/08 18:15
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
以下是一个多态实例的演示,详细说明请看注释:
public class Test { public static void main(String[] args) { show(new Cat()); // 以 Cat 对象调用 show 方法 show(new Dog()); // 以 Dog 对象调用 show 方法 Animal a = new Cat(); // 向上转型 a.eat(); // 调用的是 Cat 的 eat Cat c = (Cat)a; // 向下转型 c.work(); // 调用的是 Cat 的 catchMouse } public static void show(Animal a) { a.eat(); // 类型判断 if (a instanceof Cat) { // 猫做的事情 Cat c = (Cat)a; c.work(); } else if (a instanceof Dog) { // 狗做的事情 Dog c = (Dog)a; c.work(); } } } abstract class Animal { abstract void eat(); } class Cat extends Animal { public void eat() { System.out.println("吃鱼"); } public void work() { System.out.println("抓老鼠"); } } class Dog extends Animal { public void eat() { System.out.println("吃骨头"); } public void work() { System.out.println("看家"); } }
执行以上程序,输出结果为:
吃鱼抓老鼠吃骨头看家吃鱼抓老鼠
阅读全文
0 0
- 多态的实例
- 多态的扩展实例
- 多态的经典实例
- 多态处理实例变量与实例方法的差别
- VBA类的继承多态实例
- java--多态的主板实例
- Objective-C - 多态的经典实例
- java多态的静态实例
- Java接口多态的具体实例
- Java多态实例
- c++多态实例
- C#多态实例
- c++ 多态实例
- java 多态实例
- 多态实例
- Java 多态实例
- 多态实例
- python 多态实例
- 2017 Multi-University Training Contest
- JAVA I-O阶段性小结
- linux进程状态浅析
- 图形处理之Shader语言(二)CG语法篇
- windows下查看短文件名的方法
- 多态的实例
- NOI-砝码称重v2 多重背包 生成函数
- 课堂在线Java程序设计 类的继承 编程题1
- NDK之我淌过的坑
- Web.config或App.config 中添加自定义配置
- 用玩游戏的技巧来解决工作问题
- POJ 2075 Tangled in Cables(最小生成树 kruscal)
- HDU 6148 Valley Numer [数位dp]
- lua 工具类2