一、为什么需要多态。
public class test { public static void main(String [] args){ Master m = new Master(); Animal an = new Cat(); Food f = new Fish(); m.feed(an, f); }}class Master{ private String name; public void feed(Animal an,Food f){ an.eat(); f.showName(); }}class Animal{ String name; int age; public void eat(){ System.out.println("我要吃什么"); } }class Dog extends Animal{ public void eat(){ System.out.print("狗爱吃"); } }class Cat extends Animal{ public void eat(){ System.out.print("猫爱吃"); } }class Food{ String name; public void showName(){ System.out.println("我是什么食物"); }}class Fish extends Food{ public void showName(){ System.out.println("鱼");}}class Bone extends Food{ public void showName(){ System.out.println("骨头");}}
通过以上的方法,Master就没有必要去定义别的方法比如(喂养猫的,喂养狗的。。。。。。),只要一个方法就够养所有的动物了
2.注意事项
2.1 java允许父类的引用对象引用他的子类实例(自动完成的)