Java多态性
来源:互联网 发布:python高级编程第二版 编辑:程序博客网 时间:2024/06/13 23:56
多态性主要包含方法的多态性和对象的多态性。
1、方法的多态性:重载和覆写
重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能;
覆写:同一个方法,根据操作的子类不同,所完成的功能也不同;
2、对象的多态性:父子类对象的转换。
向上转型:子类对象变为父类对象, 父类 父类对象=子类实例,自动;
向下转型:父类对象变为子类对象, 子类 子类对象=(子类)父类实例,强制;
本程序实现了一个对象的向上转型操作,虽然最后调用print()方法的是A类对象,但是此时实例化的是子类对象“new B();”,而且print方法被子类覆写了,所以最终调用的是被B类覆写过的print()方法.
本程序强制将父类对象变为子类实例,由于本程序开始实例化的依然是子类对象(new B()),所以最终调用的print()方法依然是子类覆写过的方法。
以实例化子类所覆写过的方法为主。
在进行对象转型(对象向上转型)的操作过程中,注意一下两点:
(1)实例化的是哪个子类;
(2)要调用的方法是否被子类所覆写,覆写后调用的一定是被覆写过的方法。
2、当对象发生向下转型关系前,一定要首先发生对象的向上转型关系,以建立两个对象之间的联系,如果没有这种联系,是不可能发生向下转型的,一旦发生,在运行中就会出现“class cast exception”错误提示,当需要调用子类自己特殊调用的方法时,才需要向下转型。
阅读全文
0 0
- java 多态性
- java 多态性
- java多态性
- Java多态性
- java 多态性
- Java多态性
- Java多态性
- java多态性
- java多态性
- java多态性
- Java多态性
- Java多态性
- Java多态性
- java多态性
- java 多态性
- java多态性
- java多态性
- java多态性
- 验证码识别
- 固定定位
- 正则基础之——贪婪与非贪婪模式
- 应用系统传递数据的几种方式
- 【温故知新-Java虚拟机篇】1.内存模型
- Java多态性
- Hello, VBA!
- 2017秋招、春招、实习生招聘区别
- 解决实时搜索发送ajax请求过多的问题
- HttpClientUtil_Post方法_Get方法
- 配置Android应用开发环境为什么需要安装配置JDK、SDK、ADT
- 彻底搞定Android开发中软键盘的常见问题
- javaScript基础拖拽
- lucence的原理以及整合java