阅读量:0
在Java中,可以使用instanceof
操作符来检查一个对象是否是某个类的实例或者是其子类的实例。instanceof
的语法如下:
obj instanceof ClassName
其中,obj
是要检查的对象,ClassName
是要检查的类名。
instanceof
操作符返回一个布尔值,如果obj
是ClassName
类的实例或者是其子类的实例,则返回true
,否则返回false
。
下面是一个示例代码:
public class Animal { // ... } public class Dog extends Animal { // ... } public class Cat extends Animal { // ... } public class Main { public static void main(String[] args) { Animal animal = new Animal(); Dog dog = new Dog(); Cat cat = new Cat(); System.out.println(animal instanceof Animal); // true System.out.println(dog instanceof Animal); // true System.out.println(cat instanceof Animal); // true System.out.println(dog instanceof Dog); // true System.out.println(cat instanceof Dog); // false System.out.println(animal instanceof Dog); // false System.out.println(animal instanceof Cat); // false } }
在上面的示例中,animal
、dog
和cat
都是Animal
类的实例,所以animal instanceof Animal
、dog instanceof Animal
和cat instanceof Animal
的结果都为true
。
而dog
是Dog
类的实例,所以dog instanceof Dog
的结果为true
,cat
不是Dog
类的实例,所以cat instanceof Dog
的结果为false
。
同理,animal
不是Dog
类的实例,所以animal instanceof Dog
的结果为false
,animal
也不是Cat
类的实例,所以animal instanceof Cat
的结果为false
。