温馨提示×

java中的instanceof如何用

小亿
85
2023-12-28 03:54:29
栏目: 编程语言

在Java中,可以使用instanceof操作符来检查一个对象是否是某个类的实例或者是其子类的实例。instanceof的语法如下:

obj instanceof ClassName

其中,obj是要检查的对象,ClassName是要检查的类名。

instanceof操作符返回一个布尔值,如果objClassName类的实例或者是其子类的实例,则返回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
    }
}

在上面的示例中,animaldogcat都是Animal类的实例,所以animal instanceof Animaldog instanceof Animalcat instanceof Animal的结果都为true

dogDog类的实例,所以dog instanceof Dog的结果为truecat不是Dog类的实例,所以cat instanceof Dog的结果为false

同理,animal不是Dog类的实例,所以animal instanceof Dog的结果为falseanimal也不是Cat类的实例,所以animal instanceof Cat的结果为false

0