黑马程序员技术交流社区

标题: 面向对象:转型 [打印本页]

作者: 李志鹏    时间: 2015-6-7 21:34
标题: 面向对象:转型
子类对象的类型提升。向上转型
好处:提高了扩展性,局限:只能使用父类中的方法。
                这种提升可以限制对子类对象的操作。

向下转型。 转成子类型。
可以使用子类的特有方法。
        弊端,如果类型转换错误,会出现运行异常。

什么时候使用向上转型,和向下转型呢?
        当需要对程序进行扩展,或者限定对对象的方法操作时,使用向上转型。
        操作其父类型。
               
        当要使用子类的特有的内容时,就需要向下转型。
        转型前一定要判断,否则容易出现问题。

        注意:在这个转型过程中,自始自终都是一个子类对象在做着类型的变化而已。
        千万别把父类对象抓成子类型。那是不可能。

在进行子类特有方法使用时,要进行向下转型,
        转型前一定要做判断。否则容易发生ClassCastException

        判断引用类型,要使用一个关键字完成。关键字: instanceof

        对象 instanceof 类型

        这个判断是向下转型前的健壮性判断。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2