instanceOf关键字用于检查一个对象是否是某个特定类的实例,或者是否是其子类的实例。具体用法如下:
// 定义一个Animal类
class Animal {}
// 定义一个Dog类,继承自Animal类
class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
// 创建一个Animal对象
Animal animal = new Animal();
// 创建一个Dog对象
Dog dog = new Dog();
// 使用instanceOf关键字检查对象类型
if (animal instanceof Animal) {
System.out.println("animal is an instance of Animal");
}
if (dog instanceof Dog) {
System.out.println("dog is an instance of Dog");
}
// 还可以检查对象是否是父类或接口的实例
if (dog instanceof Animal) {
System.out.println("dog is an instance of Animal");
}
// 如果对象为null,instanceOf判断会返回false
Animal nullAnimal = null;
if (nullAnimal instanceof Animal) {
System.out.println("nullAnimal is an instance of Animal");
} else {
System.out.println("nullAnimal is not an instance of Animal");
}
}
}
在上面的示例中,我们使用instanceOf关键字分别检查了animal和dog对象的类型,以及dog对象是否是Animal的子类。最后还演示了当对象为null时,instanceOf判断返回false的情况。