本文主要是介绍练习:猫狗案例多态版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*猫狗案例多态版测试结果:猫吃鱼猫玩捉迷藏狗吃肉狗看门
*/
//动物类
class Animal{public Animal(){}public void eat(){System.out.println("吃饭");}
}//狗类 继承动物
class Dog extends Animal{public Dog(){}//重写方法public void eat(){System.out.println("狗吃肉");}//狗类特有的功能public void lookDoor(){System.out.println("狗看门");}
}
//猫类 继承动物
class Cat extends Animal{ //我又一次忘了写extends...public Cat(){}//重写方法public void eat(){System.out.println("猫吃鱼");}//猫类特有的功能public void playGame(){System.out.println("猫玩捉迷藏");}
}//测试类
class CatDogDuoTaiTest{public static void main(String[] args){//定义成猫Animal a= new Cat();a.eat(); //执行的是重写的方法//还原成猫/*--------想要执行Cat特有的方法:------*/Cat c= (Cat)a; //c引用了上面已有的猫对象(c指向了这个猫对象所在的堆内存空间 0x001)c.playGame();//这时便可以用猫特有的功能了//变成了狗 a= new Dog();//这里写的仍然是a,a又指向了一个狗对象a.eat();//还原成狗Dog d= (Dog)a;d.lookDoor(); }
}
这篇关于练习:猫狗案例多态版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!