instanceof是干什么的
时间: 2023-12-05 14:40:29 浏览: 29
instanceof是一个操作符,用于检查某个对象是否属于某个类或者原型链中是否存在某个构造函数,返回值是一个布尔类型的值。它可以用于判断一个对象是否是某个类的实例,或者是某个类的子类的实例。下面是一个Java的例子:
```java
class Animal {
// ...
}
class Dog extends Animal {
// ...
}
class Cat extends Animal {
// ...
}
public class Main {
public static void main(String[] args) {
Animal animal = new Cat();
if (animal instanceof Dog) {
System.out.println("The animal is a dog.");
} else if (animal instanceof Cat) {
System.out.println("The animal is a cat.");
} else {
System.out.println("The animal is not a dog or a cat.");
}
}
}
```
在这个例子中,我们创建了一个Animal类和它的两个子类Dog和Cat。然后我们创建了一个Animal类型的变量animal,并将它赋值为一个Cat类型的实例。接着我们使用instanceof操作符检查animal是否是Dog或Cat的实例,并输出相应的结果。由于animal是一个Cat类型的实例,所以输出结果是"The animal is a cat."。