instanceof的意义

 

 

class Animal{
    public void move(){
        System.out.println("animal is moving");
    }
}

class Cat extends Animal{
    public void move(){
        System.out.println("cat is catching the mouth");  //此处为方法覆盖
    }
    public void walk(){
        System.out.println("cat is walking");
    }
}

class Bird extends Animal{
    public void move(){
        System.out.println("bird is flying");  //此处也是方法覆盖override 覆盖的是Animal中的move方法
    }
    public void sing(){
        System.out.println("bird is singing");
    }
}
public class Instanceof{
    public static void main(String[] args){
        AnimalTest at = new AnimalTest();
        at.test(new Cat());
        at.test(new Bird());
    }
}

class AnimalTest{
    public void test(Animal a){
        if(a instanceof Cat){
            Cat c = (Cat)a;
            c.walk();
        }else if(a instanceof Bird){
            Bird b = (Bird)a;
            b.sing();
        }
    }
}

 

posted @ 2022-06-22 16:35  _八级大狂风  阅读(20)  评论(0编辑  收藏  举报