多态java喂食宠物_JAVA代码主人喂宠物吃东西狗只吃骨头猫只吃鱼求代码用多态...

这篇博客通过一个Java代码实例展示了如何使用多态来实现不同的宠物(如猫和狗)根据它们的特性吃不同的食物(猫吃鱼,狗吃骨头)。代码中定义了抽象类Animal,以及其子类Dog和Cat,每个子类覆盖了eat方法以实现各自的食物偏好。Feeder类负责喂食,根据食物类型调用相应宠物的eat方法。
摘要由CSDN通过智能技术生成

展开全部

/*

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!");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值