展开全部
/*
animal是个抽象方法,Cat 和Dog extends 这个就是用的多e68a843231313335323631343130323136353331333339663966态
*/
package Test;
public class Test{
public static void main(String[] args){
Feeder feeder = new Feeder();
feeder.feedAnimals();
}
}
abstract class Animal{
public abstract void eat(String s);
}
class Dog extends Animal{
private final String FOOD = "bone";
@Override
public void eat(String s){
if (s == FOOD)
System.out.println("Dog is eating bones");
else
System.out.println("Not "+this.FOOD+", Dog don't want to eat");
}
}
class Cat extends Animal{
private final String FOOD = "fish";
@Override
public void eat(String s){
if (s == FOOD)
System.out.println("Cat is eating fishes");
else
System.out.println("Not "+this.FOOD+", Cat don't want to eat");
}
}
class Feeder{
private final String[] FOODS = {"fish", "bone", "shit"};
private Animal cat;
private Animal dog;
Feeder(){
dog = new Dog();
cat = new Cat();
}
public void feedAnimals(){
System.out.println("Feeding animals...");
String food;
for(int i = 0; i
food = FOODS[i];
if(food == "fish")
this.cat.eat(food);
else if(food == "bone")
this.dog.eat(food);
else{
System.out.println("Not Fishes or Bones, is "+ food);
}
}
System.out.println("Done!");
}
}