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