instanceof 关键字表示判断前一个是不是后面的实例化对象,返回的结果为boolean类型, 比如:
A instanceof B
表示:
1)A是否是B的实例;
2)A是否是B子类的实例;
3)A是否是B接口实现类的实例;
结论:无论怎样,只要左边范围小于右边范围就为true,否则为false
例如:
//定义父类
public class Person {
}
//定义子类继承父类
public class Man extends Person {
}
//测试
public class Demo {
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = new Man();
Man m1 = new Man();
//p1 不是 man的实例化类,不是man的子类,没有实现man的接口,false
System.out.println(p1 instanceof Man); // false
//p2 是 Man的实例化类,true
System.out.println(p2 instanceof Man); // true
// m1 是 Man的实例化类,true
System.out.println(m1 instanceof Man); // true
//p1 是 Person的实例化类,true
System.out.println(p1 instanceof Person); //true
//p2 是 Person的子类,true
System.out.println(p2 instanceof Person); //true
//m1 是 Person的子类,true
System.out.println(m1 instanceof Person); //true
}
}