多态Poly中的向上/下转型 Upcast/Downcast

【参考资料】马克-to-win

java中多态polymorphism,向上转型和动态方法调度有什么用?

java中什么叫多态,动态方法调度(dynamic method dispatch)?

java中downcast向下转型到底有什么用? 举例说明!

java中如何使用派生类指针指向基类,即downcast向下转型?举例!

【我的记忆点】

Upcast: 父类指针→子类对象(只能调用 父类方法、子类override的方法。不能调用子类only方法)

Downcast:子类指针→(子类)父类指针→子类对象(能调用子类方法<包括:子类override的方法 + 子类only方法>、能调用父类方法<因为继承>)

【不正确】

× 子类指针→父类对象(子类中含有only方法,是父类中没有的,子类指针.子类only方法时岂不是出错?不要为难JVM)

 

posted @ 2018-03-14 17:34  怎么著都不成  阅读(319)  评论(0编辑  收藏  举报