packagecom.ssc.polymorphism;publicclassAnimal{publicvoidshout(){// TODO Auto-generated method stubSystem.out.println("叫了一声");}}classDogextendsAnimal{publicvoidshout(){// TODO Auto-generated method stubSystem.out.println("汪汪汪!!");}publicvoiddogchMouse(){// TODO Auto-generated method stubSystem.out.println("我要抓猫!!");}publicstaticvoidmain(String[] args){Animal uAnimal =newDog();//向上类型转化后无法调用子类独有的方法//uAnimal.dogchMouse();//所以需要先向下转型,可以调用子类独有的方法Dog dog =(Dog)uAnimal;
dog.dogchMouse();}}classCatextendsAnimal{publicvoidshout(){// TODO Auto-generated method stubSystem.out.println("喵喵喵!!");}publicvoidcatchMouse(){// TODO Auto-generated method stubSystem.out.println("我要抓老鼠!!");}}