JAVA中的对象转型

JAVA中的对象转型

1、引用类型和对象类型的概念

ADHero ad = new ADHero();

对象是有类型的, 是 ADHero
引用也是有类型的,是 ADHero

JAVA中的对象转型_第1张图片

2、转型
所谓的转型,是指当 引用类型 和对象类型 不一致的时候,才需要进行类型转换

分类:向上转型和向下转型

向上转型:指的是由 子类转父类 或者 实现类转换成接口
一般情况下都会成功的,转型过程中不需要强制装换。

向下转型:指的是由 父类转子类 或者 接口转换成实现类
父类转子类,有的时候行,有的时候不行,所以必须进行强制转换。强制转换的意思就是 转换有风险,风险自担。

什么时候行呢?
当父类的引用已经指向子类对象时,这个时候强制转换成功。
就相当于拿子类转换为子类,会转换成功的

什么时候转换不行呢?
当父类的引用还未指向子类对象时,这个时候会强制转换失败
就相当于拿父类转换为子类,会转换失败的

总结: 转型的前提必须有继承或者实现关系,向上转型(自动转型),一定会转型成功;向下转型(需要强制转换),当引用的指向类型与转型的类型一致时,转换成功,当引用的指向类型与转型的类型不一致时,转换失败。

你可能感兴趣的:(Java)