instanceof属于java关键字之一
作用是:测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。
instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。
说明下:类的实例包含本身的实例,以及所有直接或间接子类的实例
instanceof左边显式声明的类型与右边操作元必须是同种类或存在继承关系,也就是说需要位于同一个继承树,否则会编译错误
instanceof用法:
左边的对象实例不能是基础数据类型
null用instanceof跟任何类型比较时都是false
instanceof应用场景
instanceof一般用于对象类型强制转换
==========================================================================
instanceof 用来测试一个对象是否为一个类的实例,
用法为:boolean result = obj instanceof Class
其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。
注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。