Java中的 instanceof

(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。

猜你喜欢

转载自blog.csdn.net/whiteBearClimb/article/details/109235890
今日推荐