Java中的instanceof運算符用于檢查對象是否是特定類的實例或者實現了特定接口。它的使用方式是將要檢查的對象與目標類或接口進行比較,如果對象是目標類的實例或實現了目標接口,則返回true,否則返回false。
下面是instanceof運算符的使用示例:
class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
System.out.println(animal instanceof Animal); // true
System.out.println(animal instanceof Dog); // true
System.out.println(animal instanceof Cat); // false
}
}
在上面的示例中,Dog
類繼承自Animal
類,Cat
類也繼承自Animal
類。在main
方法中,我們創建了一個Dog
對象,并將其賦值給Animal
類型的變量animal
。然后使用instanceof
運算符來檢查animal
對象是否是Animal
類的實例、Dog
類的實例和Cat
類的實例。因為animal
對象是Dog
類的實例,所以第2個和第3個println
語句返回true和false。
注意,instanceof
運算符還可以用于判斷對象是否是某個類的子類的實例。在上面的示例中,Dog
類是Animal
類的子類,所以animal instanceof Animal
返回true。