Java中父类和子类的类型转换解惑
来源:互联网 发布:高铁无缝钢轨原理 知乎 编辑:程序博客网 时间:2024/06/01 09:47
我们平时经常在项目中经常会看到这样的场景,为实现java运行时绑定的多态性,以父类引用指向子类对象
如
Parent p = new Son()这样做的好处是代码扩展性强,耦合性低。比如一个方法接受Parent的参数类型,那么我们可以再调用方法的时候传递任何一个继承了Parent类型的子类对象作为实参。这样就实现了运行时绑定。
但是,在这种情况下,我们只能通过p调用父类的方法,而不能调用子类的特有方法。所以如果我们想调用子类的特有方法的话就要通过强制类型转换来实现。
如
((Son)p).s1() 或 Son s = (Son)p这就是父类和子类的类型转换存在的意义。
还有另外一种情况,就是将父类引用指向父类对象,而后将父类引用强制转换为子类引用
如
Parent p = new Parent(); Son s = (Son)p;
java的开发者认为这样毫无意义,所以在开发过程中我们不能这样做,JVM会包类型转换错误的异常。
- Java中父类和子类的类型转换解惑
- Java初涉之2--父类和子类的类型转换
- 5.1 父类和子类的类型转换总结
- java中父类与子类的转换问题
- Java 父类与子类 类型转换
- java 父类、子类 类型转换【父类不能转为子类】
- java中父类转换为子类
- 【解惑】Java类型间的转型
- java 枚举类型解惑
- java中父类和子类的关系
- java多态情况下通过类型转换访问子类特有的成员
- java的自动类型转换和强制类型转换
- Java:自动类型转换和强制类型转换的规则
- 《C语言解惑》之 谜题2.3 其他类型的转换
- 我的Java开发学习之旅------>解惑Java进行三目运算时的自动类型转换
- Java中父类强制转换成子类的原则
- Java中父类强制转换成子类的原则
- Java中父类强制转换成子类的原则
- Eclipse插件安装方法大全
- windows批处理命令通过修改注册表快捷开关Internet代理
- Java 输入输出流总结
- C语言标准库概览详述[3]-实现限制<limits.h>,<float.h>
- 邂逅在华灯初上
- Java中父类和子类的类型转换解惑
- 控制主布局里的数据大小,节省布局的运用。
- 中国历史上的不平等条约
- [ubuntu]用Qt开发openni和opencv
- C语言标准库概览详述[4]-数学函数库<math.h>
- 计时器
- wordpress的一张流程图
- C语言标准库概览详述[5]-跳转<setjmp.h>
- Windows8,为荣誉而战