java中的instanceof如何用

avatar
作者
筋斗云
阅读量:0

在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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!