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(); } } }