在Java中,instanceof
是一个操作符,用于检查一个对象是否是一个特定类或其子类的实例。它的语法是:
object instanceof Class
其中,object
是要检查的对象,Class
是要检查的类名或接口名。
instanceof
操作符返回一个布尔值,如果object
是指定类或其子类的实例,则返回true
;否则返回false
。
下面是一个简单的示例:
class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
System.out.println(animal1 instanceof Animal); // true
System.out.println(animal1 instanceof Dog); // true
System.out.println(animal1 instanceof Cat); // false
System.out.println(animal2 instanceof Animal); // true
System.out.println(animal2 instanceof Dog); // false
System.out.println(animal2 instanceof Cat); // true
}
}
在这个例子中,Dog
和Cat
都是Animal
的子类。因此,animal1
是Animal
类的实例,也是Dog
类的实例,但不是Cat
类的实例。而animal2
是Animal
类的实例,也是Cat
类的实例,但不是Dog
类的实例。