You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何修改OldMacDonaldApp以调用Farm类的addAnimal和animalSounds方法

修改后的OldMacDonaldApp类代码

public class OldMacDonaldApp {
    public static void main(String[] args) {
        // 实例化Farm农场对象
        Farm myFarm = new Farm();
        
        Animal c;
        c = new Cow("brown");
        System.out.println("The " + ((Cow) c).getColor() + " " +c.getType() + " goes " + c.getSound());
        myFarm.addAnimal(c); // 将动物添加到农场集合
        
        c = new Chick(3);
        System.out.println("The " + ((Chick) c).getAge() + " days old " + c.getType() + " goes " + c.getSound());
        myFarm.addAnimal(c); // 将动物添加到农场集合
        
        c = new Sheep("fluffy");
        System.out.println("The " + ((Sheep) c).getTrait1() + " " + c.getType() + " goes " + c.getSound());
        myFarm.addAnimal(c); // 将动物添加到农场集合
        
        c = new Dog("loyal");
        System.out.println("The " + ((Dog) c).getTrait2() + " " + c.getType() + " goes " + c.getSound());
        myFarm.addAnimal(c); // 将动物添加到农场集合
        
        // 调用农场方法批量输出所有动物的叫声信息
        System.out.println("\n=== 农场动物叫声汇总 ===");
        myFarm.animalSounds();
    }
}

核心修改逻辑

  • 在main方法入口处先创建Farm类的实例对象
  • 每完成一个动物实例的创建和单条信息打印后,调用addAnimal()方法将该动物存入农场的集合中
  • 所有动物添加完成后,调用animalSounds()方法即可自动遍历农场内所有动物,输出对应类型和叫声

注意:确保Farm类和OldMacDonaldApp、各个动物实现类在同一个包下,否则需要在OldMacDonaldApp类头部导入Farm类的全限定名。

内容的提问来源于stack exchange,提问作者slimebo1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:48:01