java 的instanceof
时间: 2023-12-12 08:35:09 浏览: 67
`instanceof`是Java中的一个关键字,用于测试一个对象是否是一个类的实例。它的语法如下:
```
object instanceof class
```
其中,`object`是要测试的对象,`class`是要测试的类。如果`object`是`class`的一个实例,则返回`true`,否则返回`false`。
以下是一个使用`instanceof`的例子:
```java
public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
public class Dog extends Animal {
public void makeSound() {
System.out.println("The dog barks");
}
}
public class Cat extends Animal {
public void makeSound() {
System.out.println("The cat meows");
}
}
public class InstanceofExample {
public static void main(String[] args) {
Animal animal = new Dog();
if (animal instanceof Dog) {
Dog dog = (Dog) animal;
dog.makeSound();
} else if (animal instanceof Cat) {
Cat cat = (Cat) animal;
cat.makeSound();
} else {
animal.makeSound();
}
}
}
```
在上面的例子中,我们定义了一个`Animal`类和两个子类`Dog`和`Cat`。在`InstanceofExample`类中,我们创建了一个`Animal`对象,并将其赋值为`Dog`类型。然后,我们使用`instanceof`测试`animal`是否是`Dog`的一个实例。由于`animal`是`Dog`的一个实例,因此`instanceof`返回`true`。然后,我们将`animal`强制转换为`Dog`类型,并调用`makeSound()`方法,输出`The dog barks`。
阅读全文