使用方法
class Dog{ }
class Cat extends Dog{ }
public class Test{
public static void main(String[] args) {
Dog dog=new Dog();
Cat cat=new Cat();
System.out.println(cat instanceof Dog); //A
System.out.println(dog instanceof Cat); //B
}
}
结果
使用上转型的时候,对象和子类的instanceof,依然是true;
稍做修改
class Dog{ }
class Cat { }
public class Test{
public static void main(String[] args) {
Dog dog=new Dog();
Cat cat=new Cat();
System.out.println(cat instanceof Dog); //A
System.out.println(dog instanceof Cat); //B
}
}
结果
原因:只有对象和类存在父子关系才能使用isntanceof。