Java_多态 使用动物为例学习java_多态
以动物为例,动物可以吃东西,动物下有猫和狗,动物上有主人
实验代码
package trys;
public class Duotaidemo1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Master master = new Master();
Dog d=new Dog();
master.feed(d);
// master.feed(new Cat());
}
}
//动物类
class Animal {
// 动物类里面有吃方法
public void eat() {
System.out.println("我不知道吃什么");
}
public void eat(Dog d) {
System.out.println("我不知道吃什么");
}
}
//狗类继承于动物类
class Dog extends Animal {
// 覆盖(重写)方法
public void eat() {
System.out.println("我是狗,我爱吃骨头");
}
}
// 猫类继承于动物类
class Cat extends Animal {
// 覆盖(重写)方法
public void eat() {
System.out.println("我是猫,我爱吃鱼");
}
}
//主人类 存在一种喂食方法
class Master {
// 给动物喂食物,如果没有多态,他要写给猫喂食和给狗喂食两个方法
// 有了多态,以后即使再来好多动物,用这一个函数就可以了
public void feed(Animal an) {
an.eat();
an.eat((Dog)an);
}
}