instanceof是Java的一個二元操作符,和==,>,<是同一類東東。由於它是由字母組成的,所以也是Java的保留關鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實例,返回boolean類型的數據。
用法: 某個實例對象 instanceof 某個類名
instanceof 通常用於根據不同的實例調用不同的方法:
一、在有繼承關係的類中我們可以通過多態來調用不同實例中的不同方法:
例1:
有三個類,類名以及它們之間的關係如下
Animal (Superclass) Dog(Subclass) Cat(Subclass)
則可得出如下對象
Animal animal =new Animal (); ====》animal instanceof Animal 返回 true
Dog dog=new Dog();====》dog instanceof Dog 返回 true
Cat cat=new Cat();====》cat instanceof Cat 返回 true
Animal dog=new Dog();====》dog instanceof Animal 返回 true
Animal cat=new Cat();====》cat instanceof Animal 返回 true
Animal dog=new Dog();
Animal cat=new Cat();
List list = new ArrayList();
list.add(dog);
list.add(cat);
Iterator it = list.iterator();
while (it.hasNext()) {
it.next().animalDo();
}