有关类的接口,实现类的多态

来源:互联网 发布:淘宝知识问答 编辑:程序博客网 时间:2024/06/08 06:56
<pre name="code" class="java">interface Animal { public abstract void cry(); public abstract String getname();  }   class Dog implements Animal   {  private String name="dog";   public void  cry()  {  System.out.print("旺旺"+"  ");  } public  String getname()  {  return name;    } void show() { System.out.println("喜欢吃骨头,会看家"); }   }    class Cat implements Animal    {     private String name="cat";    public void cry()    {    System.out.print("喵喵"+"  ");    }    public String getname()    {        return name;    }    void show()    {    System.out.println("喜欢吃鱼,会打老鼠");    }    }    class Simulator //声音模拟器类;    {    public static void playsound(Animal animal)//实现多态性;    {    animal.cry();    System.out.println("name:"+animal.getname());    /*如果要调用dog,cat的特有函数的话就要使用向下转型的方式来实现;     * )         * */    if(animal instanceof Dog)//用来判断animal是不是指向Dog对象的空间;    {     Dog d=(Dog)animal;     d.show();    }    if(animal instanceof Cat)//用来判断animal是不是指向Cat对象的空间;    {    Cat c=(Cat)animal;    c.show();    }    }    }public class test {public static void main(String[] args) {Dog dog1=new Dog();Cat cat1=new Cat();Simulator.playsound(dog1);Simulator.playsound(cat1);return ;}}


                                             
0 0
原创粉丝点击