引用类型

引用类型转换:
1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。
如:Dog dog=new Dog();Animal animal=dog;//正确,自动类型提升,向上类型转换
2.向下类型转换(强制类型转换),是大类型到小类型的转换(存在风险,溢出)
如:Dog dog1=(Dog)animal;//向下类型转换
3.instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题。如:
Dog dog=new Dog();
Animal animal=dog;
Cat cat=(Cat)animal;//编译时不会出错(按Cat类型进行编译),但运行时会报错,因为它开辟的是Dog类型的空间,而(无法将引用类型进行转换)无法将dog对象转换成Cat类型,并且此方法对程序的安全性有影响。此时应该利用instanceof和if语句结合使用,进行验证,以保证程序的安全性,如:
if(animal instanceof Cat){//判断animal类中是否包含Cat类型的元素,若包含则进行转换,instanceof返回值为布尔类型
Cat cat=(Cat)animal;}else{
System.out.println("无法进行类型转换");}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值