instanceof关键字
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法
boolean result = object instanceof class
在编译期object必须是引用类型,并且是class或其父类、子类的实例
而运行期object不为null且是class的子类或本身的实例会返回true,否则返回false
示例
1、Super类
public class Super{
}
2、Sub类
public class Sub extends Super{
}
3、main方法
public static void main(String[] args) {
Super s1 = new Super();
Super s2 = new Sub();
Sub s3 = new Sub();
System.out.println(s1 instanceof Super);
System.out.println(s1 instanceof Sub);
System.out.println(s2 instanceof Super);
System.out.println(s2 instanceof Sub);
System.out.println(s3 instanceof Super);
System.out.println(s3 instanceof Sub);
}
结果:
true
false
true
true
true
true
从结果可以看出 instanceof不受编译类型影响的。