JAVA中的强制类型转换详解

Java类型强制转换详解
本文详细解析了Java中的类型强制转换概念,包括向上转型和向下转型的规则与注意事项,强调了在继承链上的向下类型转换时,必须使用instanceof关键字进行类型检查的重要性。

强制类型转化:将一个类型强制转换为另一类型的过程称为类型强制转换。

例如将double转换为int时,舍弃了小数部分,那么跟着这个类似,类也有强制转换一说。将一个子类的引用赋给一个超类的变量,编译器时允许的。但是将一个超类的引用赋给一个子类变量时,必须进行类型转换,这样才能够通过运行时的检查。

注意:

继承链上试图进行向下的类型转换时,一定要注意(假设Manage时Person的子类):

Person p = new Person();
Manage m = p;

这样ide的检测不会报错,但是实际却会产生一个ClassCastException的异常,这是因为JAVA规定父类不能转化为子类,就像动物里边包括哺乳动物,哺乳动物不能包括所有动物一样。

因此我们在这款i需要用instanceof进行判断

if(p instanseof Manage){
    m = p;
}

总结:

1、只能在继承链中进行类型转换

2、在超类转成子类时,应该使用instanceof进行检查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值