instanceof 是 Java 的一个二元操作符,类似于 ==,>,< 等操作符。
instanceof 是 Java 的保留关键字。
它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。
举例如下:运算类型是编译类型的非父类,只要判断运行类型就可以,运行类型为true,编译类型也必然是true
package com.wjledu.poly_.detail_;
//instanceof 运算符
//运算类型是编译类型的非父类,只要判断运行类型就可以,运行类型为true,编译类型也必然是true
public class PolyDetail03 {
public static void main(String[] args) {
BB bb = new BB();
System.out.println(bb instanceof BB);//true
System.out.println(bb instanceof AA);//true
//aa 编译类型是AA, 运行类型是BB
AA aa = new BB();
System.out.println(aa instanceof AA);//true
System.out.println(aa instanceof BB);//true
Object obj = new Object();
System.out.println(obj instanceof AA);//false
String str = "hello";
//System.out.println(str instanceof AA);
System.out.println(str instanceof Object);//true
}
}
class AA {}//父类
class BB extends AA {} //子类
结果如下: