Java笔记6:多态
来源:互联网 发布:巨人网络招聘会计 编辑:程序博客网 时间:2024/05/14 07:20
一、多态的分类对象的多态性:动物 x = new猫();
函数的多态性:函数重载、重写
二、多态的体现
父类的引用指向了自己的子类对象
父类的引用也可以接收自己的对象
三、多态的前提
必须是类与类之间只有关系,要么继承或实现
通常还有一个前提,存在覆盖
四、多态的好处
多态的出现大大的提高了程序的扩展性
五、多态的弊端
只能使用父类的引用访问父类的成员
六、代码示例
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(); } }}
运行结果:
0 0
- Java笔记6:多态
- java学习笔记-多态
- Java学习笔记-多态
- java笔记-多态
- Java笔记整理:多态
- Java笔记 - 多态
- JAVA笔记之 多态
- Java学习笔记----多态
- java笔记 多态
- Java学习笔记6
- java学习笔记6
- java学习笔记6
- java 课堂笔记6
- java学习笔记6
- Java笔记(6)
- java笔记6
- java基础--笔记6
- Java笔记(6)
- 自己对整体的MapReduce的深刻理解
- Android中selector的初步认识(一)
- HDU 2073 无限的路
- VS2015+opencv3.1.0环境搭建
- iOS runtime 运行时
- Java笔记6:多态
- Linux驱动mmap内存映射
- node与ES6系列2——promise对象
- Android aidl在Framework的使用
- LeetCode Length of Last Word
- 欢迎使用CSDN-markdown编辑器
- 【iOS开发】runtime机制
- 重磅!从单层感知器到深度学习以及深度学习必知的框架
- 给python安装theano包