一、多态、抽象类、接口、重写
import org.w3c.dom.css.CSSUnknownRule;
public class AbstractPractice2 {
public static void main(String[] args){
Feeder feeder = new Feeder();
Food food = new Meat("肉肉");
Animal animal = new Dog();
feeder.feed(animal,food);
Animal animal1 = new Cat();
Food food1 = new Fish("鱼鱼");
feeder.feed(animal1,food1);
}
}
abstract class Food{
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Meat extends Food{
public Meat(String name){
super.name = name;
}
}
class Fish extends Food{
public Fish(String name){
super.name = name;
}
}
interface Animal{
public void eat(Food food);
}
class Dog implements Animal{
@Override
public void eat(Food food) {
System.out.println("狗狗吃"+food.getName());
}
}
class Cat implements Animal{
@Override
public void eat(Food food) {
System.out.println("猫吃"+food.getName());
}
}class Feeder {
public void feed(Animal animal,Food food){
animal.eat(food);
}
}