JAVA---instanceof关键字
使用情景:为了避免在向下转型时出现ClassCastException的异常,我们在向下转型之前,先进行instanceof的判断,一旦返回true,就进行向下转型。如果返回false,就不进行向下转型。
package exer;
public class AnimalsTest {
public static void main(String[] args) {
Animals a=new Dog();
if(a instanceof Cat){
Cat c=(Cat)a;
c.eat();
System.out.println("Cat----------------");
}else if(a instanceof Dog){
Dog d=(Dog)a;
d.eat();
System.out.println("DOG----------------");
}
}
}
class Animals{
public void eat(){
System.out.println("吃");
}
}
class Dog extends Animals{
public void eat(){
System.out.println("吃骨头");
}
}
class Cat extends Animals{
public void eat(){
System.out.println("吃鱼肉");
}
}