Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。
instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
案例演示:
class GrandFather
{
public void test()
{
}
}
class Father extends GrandFather
{
public void test()
{
}
}
class Son extends Father
{
public void test()
{
}
}
public class InstanceOfTest {
public static void main(String[] args) {
Son son=new Son();
Father father=new Father();
System.out.println(son instanceof Father);
System.out.println(son instanceof GrandFather);
System.out.println(father instanceof GrandFather);
System.out.println(father instanceof Father);
System.out.println(father instanceof Son);
}
}
运行结果:
可以看到,只有当对象实例是 类的本身对象实例或者子类的对象实例时,表达式返回True