public class driver{
public static void main(String[] args) {
Feeder feeder = new Feeder(" greed");
feeder.speak();
dog dog = new dog("斗子");
dog.sound();
food food = new food();
food.setName("骨头");
feeder.feed(dog,food);
cat cat = new cat("悠米");
cat.sound();
food.setName("鱼");
feeder.feed(cat,food);
}
}
class Feeder {
public String name;
public Feeder(String name){
this.name=name;
}
public void speak(){
System.out.println("welcome");
System.out.println("i am"+getName());
}
public void feed(Animal a,food food){
a.eat(food);
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
abstract class Animal {
private String name;
public Animal(String name){
this.name=name;
}
public abstract void sound();
public abstract void eat(food food);
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
class food {
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
class dog extends Animal {
public dog(String name){
super(name);
}
public void sound(){
System.out.println("wamhwamhwamh");
}
public void eat(food food){
System.out.println(getName()+"正在食用"+food.getName());
}
}
class cat extends Animal {
public cat(String name){
super(name);
}
public void sound(){
System.out.println("miaomiaomiao");
}
public void eat(food food){
System.out.println(getName()+"正在食用"+food.getName());
}
}