由instanceof引发的思考

本文探讨了Java中的instanceof操作符,它用于判断一个对象是否属于某个类或其子类。通过实例,作者发现子类可以向上转型为父类,但父类无法直接转型为子类。此外,instanceof不适用于泛型类型。了解这一操作符对于理解和使用Java的多态特性至关重要。
摘要由CSDN通过智能技术生成

本来上课的时候对instanceof没怎么认真听

以为记住一个不要在equals之外的地方使用就够了

但听了几个大佬的复习讲座后

觉得对instanceof还是应该再深入了解一下

起初我只知道a instanceof b是判断a是否是b及其子类

又知instanceof不是一个方法而是一个操作符

听大佬的讲座得知这种判断是通过强转实现的

就是说尝试将a转换为b

如果成功就返回true,不成功就返回false

为此我特地写了几个有继承关系的类尝试了一下

这里chinesewomanpeople是chinesepeople的子类

chinesepeople是people的子类

结果是第一种强转报错

第二种可以

由此可知

父类不能强转为子类

但子类可以强转为父类

这与任何一个子类对象都是一个父类对象是对应的

还有一个点

instanceof只能用于原始类型,而不能用于泛型类型

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值