黑马程序员技术交流社区

标题: Day11 关于向上转型和向下转型 [打印本页]

作者: gqx1990    时间: 2016-8-26 23:07
标题: Day11 关于向上转型和向下转型
引用类型转换的问题:
向上转型:
        说明:当有子类对象赋值给一个父类引用时,便是向上转型,多态本身就是向上转型的过程。
        格式:Person p = new Student();
        小的赋值给大的类型  需要类型提升
        好处:向上转型的好处是隐藏了子类类型,提高了代码的扩展性。
        弊端:只能使用父类共性的内容,而无法使用子类特有功能,功能有限制。
向下转型:
        说明:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用转为子类引用,这个过程是向下转型。如果是直接创建父类对象,是无法向下转型的!
        格式:Student s = (Student)p;
        把刚才的父类(父接口)引用强转成其对应的子类类型。
        备注:Cat c = (Cat)a2;  Cat c = (Cat) a2;  有无空格都可
总结:
        什么时候使用向上转型:当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作,这时就可以使用向上转型。
        什么时候使用向下转型:当要使用子类特有功能时,就需要使用向下转型。

作者: 冬天有点冷    时间: 2016-8-27 01:22
赞一个, 楼主总结的不错~
作者: 坚持努力wbj    时间: 2016-8-27 07:13
很详尽,非常好




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