多态测试

来源:互联网 发布:java中compare to 编辑:程序博客网 时间:2024/06/10 16:32

父类:

package cn.yq.java.duotai;


public class Animal {
String str;
public void voice(){
System.out.println("普通动物的叫声");
}


}
class Cat extends Animal{
public void voice(){
System.out.println("喵喵喵");
}


public void catchMouse(){
System.out.println("抓老鼠");
}
}
class Dog extends Animal{
public void voice(){
System.out.println("汪汪汪");
}
public void seedoor(){
System.out.println("看门");
}
}
class Pig extends Animal{
public void voice(){
System.out.println("哼哼哼");
}
}

===================================

主方法:

package cn.yq.java.duotai;


public class duoTaiTest2 {
public static void testAnimalVoice(Animal x){
x.voice();
if(x instanceof Cat){
((Cat) x).catchMouse();
}
}
public static void main(String [] args){
Animal c=new Cat();
testAnimalVoice(c);

Animal b=new Dog();
testAnimalVoice(b);
Dog b2=(Dog) b;
b2.seedoor();

Animal a=new Pig();
testAnimalVoice(a);

Animal d = new Animal();
d.voice();

}


}


原创粉丝点击