- 3
- 0
- 约1.47万字
- 约 68页
- 2019-09-02 发布于湖北
- 举报
多态的一些细节 假如两种类型之间没有继承关系,即不在继承树的同一个继承分支上,那么Java编译器不允许进行类型转换,例如: Dog dog=new Dog();Cat cat=(Cat)dog; //编译出错,不允许把Dog引用类型转换为Cat引用类型 (2)对于一个引用类型变量,运行时Java虚拟机按照它实际引用的对象来处理。例如以下代码虽然编译可以通过,但运行时会抛出ClassCastException运行时异常: Base who=new Base(); //who引用Base类的实例Sub s=(Sub)who; //运行时抛出ClassCastException 在运行时,子类的对象可以转换为父类类型,而父类的对象实际上无法转换为子类类型。因为通俗的讲,父类拥有的成员子类肯定也有,而子类拥有的成员父类不一定有。 多态的一些细节 假定Java虚拟机能够把子类对象转换为父类类型,那么以下代码中的sub.subMethod()方法无法执行: Base who=new Base(); //who引用Base类的实例Sub sub=(Sub)who; //假定运行时未出错sub.subMethod(); //sub引用变量实际上引用Base实例,而Base实例没有subMethod()方法 由此可见,在运行时,Java虚拟机无法把子类对
您可能关注的文档
最近下载
- 《企业数智化转型成熟度评价规范》.pdf
- 高中物理强基计划课件全集.pdf VIP
- AQ 2003-2018 轧钢安全规程(正式版).docx VIP
- 成都川师成龙2025初一入学数学分班考试真题含答案.docx VIP
- 成都川师成龙初一入学数学分班考试真题含答案.docx VIP
- 民用建筑电气负荷计算方法与模板(含负荷计算+计算方法+模板示例).docx VIP
- 2025年成都川师成龙初一入学语文分班考试真题含答案.docx VIP
- 2026年成都川师成龙初一入学语文分班考试真题含答案.docx VIP
- 成都川师成龙初一入学语文分班考试真题含答案.docx VIP
- 成都川师成龙初一入学英语分班考试真题含答案.docx VIP
原创力文档

文档评论(0)