黑马程序员技术交流社区

标题: 向上向下转型 [打印本页]

作者: 她的眼睛会下雨    时间: 2015-9-6 22:45
标题: 向上向下转型
什么是向上转型?什么是向下转型?
作者: 生存追求    时间: 2015-9-6 23:14
例如,int-->自动转long
         long--->强转为Int
作者: purgatory    时间: 2015-9-6 23:16
class Fa {}
class Zi extends  Fa{}

Fa f=new Zi();  向上转型---父类引用指向子类对象

Zi z=(Zi) f;  向下转型----子类引用指向父类对象....   但有个前提,需要先像上转型再像下转型,不然会出现不能转换异常, 所以向下转型之前先 instanceof 检测下是不是原本就是子类对象

Fa f=new Fa();  // f instanceOf  Zi 为false 不能向下转型
Fa f=new Zi();  // f instanceOf  Zi 为true 可以向下转型
   
作者: keviner    时间: 2015-9-6 23:20
byte>> short(char)>>> int(float)>>> long doublie 向上转型
向下强转,倒着来
作者: 向上    时间: 2015-9-6 23:28
跟基本类型相似,引用类型:向上转型是(从小到大),向下转型是(从大到小)




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