父类和子类的相互转换及父类调用子类的方法
2017-07-25 09:55
176 查看
父类和子类的相互转换及父类调用子类的方法
父类转换为子类的前提条件是:父类引用指向子类;
Parent p=new Son()
Son s=(Son)p; –正确
Parent p=new Parent()
Son s=(Son)p; –错误搜索
根本原因:因为继承的概念就是子孙类会越来越比祖先类详细,所以可以将子孙类强制转换成祖先类,因为祖先有的行为子孙类示例都有了(重新定义的或者是默认的);但是当将祖先类示例强制转换成子孙类示例的时候,一些子孙类有的行为祖先是没有的(即使的是默认的实现也没有)
父类转换为子类的前提条件是:父类引用指向子类;
Parent p=new Son()
Son s=(Son)p; –正确
Parent p=new Parent()
Son s=(Son)p; –错误搜索
根本原因:因为继承的概念就是子孙类会越来越比祖先类详细,所以可以将子孙类强制转换成祖先类,因为祖先有的行为子孙类示例都有了(重新定义的或者是默认的);但是当将祖先类示例强制转换成子孙类示例的时候,一些子孙类有的行为祖先是没有的(即使的是默认的实现也没有)
相关文章推荐
- IOS开发笔记之二十五——OC中父类与子类之间相互调用方法的总结
- Java 子类方法的父类方法相互调用
- 子类、父类相互调用构造器和成员方法问题
- 子类调用父类构造方法示例
- 尝试创建一个父类,在父类中创建两个方法,在子类中覆盖第二个方法,为子类创建一个对象,将它向上转型到基类并调用这个方法。
- PHP类中子类调用父类方法
- 子类继承父类,重写父类方法,运用多态时调用重写的方法时调用子类的还是调用父类的?
- 子类继承父类(父类和子类里:块、静态块、构造和方法覆写)之间调用顺序
- java基础:父类与子类之间变量和方法的调用
- //如果要在子类中调用父类的方法,则应在子类的构造方法中调用
- C++ 子类B重载父类A的方法funA后,在父类A中调用funA会调用子类B还是父类A的funA方法?
- java this 子类调父类,父类再调用子类已覆盖的方法及属性(又一次理解)
- 转发——java基础:父类与子类之间变量和方法的调用 http://blog.csdn.net/xxqi1229/article/details/6905530
- C#中 父类与子类相互强制转换之实验
- JavaSE8基础 多态扩展性 父类引用作为函数参数,调用所装子类对象的重写方法
- python基础之类的继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法
- Java学习笔记——子类调用父类属性方法
- 关于子类继承父类后调用方法的问题
- 子类实现父类的抽象方法,父类调用抽象方法
- 子类如何调用父类方法