instanceof关键字的作用是用来判断一个对象实例是否是某一个特定类型(以及该特定类型的子类)的对象实例。返回结果是一个布尔类型的返回值(也可能编译报错)。
用法:Object instanceof ClassName
结果:
1.如果判断为真,则返回true。
2.如果判断为假,则返回false。
3.如果编译期编译器判断为假,则编译报错。
例子:
公共接口
package com.知识点收集.instanceof相关;
public interface 公共接口 {
}
A类(实现公共接口)
package com.知识点收集.instanceof相关;
public class A implements 公共接口{
}
B类(作为继承关系的父类)
package com.知识点收集.instanceof相关;
public class B {
}
C类(继承B类)
package com.知识点收集.instanceof相关;
public class C extends B{
}
Test类
package com.知识点收集.instanceof相关;
public class Test {
public static void main(String[] args) throws Exception{
A a = new A();
B b = new B();
C c = new C();
System.out.println(a instanceof 公共接口);
System.out.println(b instanceof B);
System.out.println(c instanceof B);
System.out.println(null instanceof B);
System.out.println(test(c));
}
public static boolean test(Object obj){
return obj instanceof B;
}
}
测试结果
true
true
true
false
true