Java中的 instanceof

本文介绍了Java中的关键字instanceof,用于判断对象是否属于某个类或其子类的实例。通过示例代码展示了instanceof如何工作,强调其只能用于类与对象之间的父子关系检查,不能用于基本数据类型。同时,解释了null使用instanceof始终返回false的规则。
摘要由CSDN通过智能技术生成
(1)是什么?

是Java中的一个关键字,也可以看作是操作符,跟 = 号 ,> 大于号 , < 小于号 一样,都是用来比较的。比较结果都是 true 或者 false。

(2)有什么用?
先看一段小demo,再总结它的作用:

在这里插入图片描述
在这里插入图片描述
这样我们应该都可以总结,原来它的作用是:

找爹

不好意思应该更严肃点的,但是它的作用确实是认祖归宗。左边放一个对象,右边放一个类,他就会判断对象是否该类的实例,就这么简单。

能进行亲兄弟之间比较吗?

在这里插入图片描述
不行,它的作用只有一个:

找爹

我们写一个 Class A ,然后 Class B extends A ,B instanceof A = true
一定要存在父子关系,使用 instanceof 才合法

规则1:不可用于基本数据类型

在这里插入图片描述
都说了是找父类,所以基本数据类型不支持,包装类型可以。
在这里插入图片描述
在这里插入图片描述

规则2:null不属于任何数据类型的儿子,它跟任何包装类型,任何类比较,都是永假 false

在这里插入图片描述
所以我们创建对象的时候,如果是懒汉式,只声明了类型:A a = null ; 这个时候它不属于任何类,跟谁比较都是false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值