instanceof用于判断该对象是否为特定类是实例,若是,则返回True
- 本类对象是本类的实例
- 子类对象是父类的实例
- 父类对象不是子类的实例
- 父类引用指向子类对象,该对象仍是子类的实例
测试代码如下:
class Animal{
String name;
Animal(String name){
this.name = name;
}
}
public class Dog extends Animal{
Dog(String name){
super(name);
}
public static void main(String[] msg){
Dog gg1 = new Dog("小白");
Animal gg2 = new Animal("旺财");
Animal gg3 = new Dog("狗蛋");
System.out.println(gg1 instanceof Dog); //True本类对象是本类的实例
System.out.println(gg1 instanceof Animal); //True子类对象是父类的实例
System.out.println(gg2 instanceof Dog); //false父类对象不是子类的实例
System.out.println(gg3 instanceof Dog); //True父类引用指向子类对象,该对象仍是子类的实例
}
}