JAVA多态性的深刻理解
来源:互联网 发布:tplink天线为什么知乎 编辑:程序博客网 时间:2024/05/16 17:04
1、多态的体现(应用):
父类引用指向自己及自己的子类
父类引用接收自己及自己的之类
2、多态的前提:
(1)要有继承或者实现关系
(2)存在覆盖
(3)父类引用指向子类
3、多态好处
提高了程序的扩展性
4、多态弊端
父类的引用只能访问父类的成员,如果要进行子类的特有方法的使用,则需要向下转型。
5、注意事项:
与重载同时出现时,当引用变量引用的方法不存在(针对的是覆写的方法,以及方法重载参数存在继承关系)时,存在以下顺序:
this.show(O);super.show(O); this.show(super(O)); super.show(super(O))
abstract class Animal
{
abstract void eat();
}
class Cat extends Animal{
public void eat(){
syso("吃鱼");
}
public void catchMouse(){
syso("抓老鼠");
}
}
- 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();
- }
- }
- }
优秀资源参考:
http://blog.csdn.net/cyq1028/article/details/6879088
http://www.jb51.net/article/34413.htm
0 0
- JAVA多态性的深刻理解
- Java多态性的理解
- java 多态性的理解
- Java多态性的理解
- Java多态性的理解
- java多态性的理解
- Java多态性的理解
- JAVA多态性的理解
- java的多态性理解
- Java 多态性的理解
- 深入理解java的多态性
- Java多态性的理解--2
- 深入理解JAVA的多态性
- 如何理解java的多态性
- 对Java多态性的理解
- Java类的多态性理解
- 关于JAVA多态性的理解
- Java栈与堆的深刻理解
- 软件智能化理念再探讨
- 加密---对称加密Cryptography
- Google chrome 浏览器搜索设置
- 多核 CPU 和多个 CPU 有何区别?
- python中类的继承与方法重写
- JAVA多态性的深刻理解
- 对redis数据持久化的一些想法
- jquery延迟执行
- 使用CocoaAsyncSocket适配IPv6
- POJ-1852 Ants
- RxAndroid+Retrofit+Rxbinding+RxBus先用再懂(1)
- 加密测试
- 关于7620a的固件编译移植openwrt总结
- React+Flux 新手入门开发套件、模组、实例 ( gulp 自动检查,编译 )