ZiYang.Li 2020-08-01 20:20 采纳率: 0%
浏览 226

Java简单的问题Feeder.feed(animal,food);

interface Food{
    void annimal_food();
}
abstract class Animal{
     abstract void eat(Food food);
}
class Feeder{
    void feed(Animal a,Food f) {
        System.out.println("表示动物a喂食物f");
    }
}
class Bone implements Food{
     public void  annimal_food() {
        System.out.println("我是骨头");
    }
}
class Fish extends Animal implements Food{
    @Override
    public void eat(Food food) {
        System.out.println("我是鱼,我吃东西");
    }
    public void annimal_food() {
        System.out.println("我是鱼");
    }
}
class Cat extends Animal{
    public void eat(Food food) {
        System.out.println("我是猫,我要吃东西");
    }
}
class Dog extends Animal{
    public void eat(Food food) {
        System.out.println("我是狗,我要吃东西");
    }
}


public class Test {
    Feeder feeder = new Feeder();
    Animal animal = new Cat();
    Food food = new Fish();
    Feeder.feed(animal,food);
}

Feeder.feed(animal,food);为什么报错

  • 写回答

2条回答

  • threenewbee 2020-08-01 21:45
    关注

    feeder.feed(animal,food);
    第一个f小写
    大写代表的是Feeder类,不是对象feeder

    class Untitled {
        public static void main(String[] args) {
            Feeder feeder = new Feeder();
            Animal animal = new Cat();
            Food food = new Fish();
            feeder.feed(animal,food);
        }
    }
    
    interface Food{
        void annimal_food();
    }
    abstract class Animal{
         abstract void eat(Food food);
    }
    class Feeder{
        void feed(Animal a,Food f) {
            System.out.println("表示动物a喂食物f");
        }
    }
    class Bone implements Food{
         public void  annimal_food() {
            System.out.println("我是骨头");
        }
    }
    class Fish extends Animal implements Food{
        @Override
        public void eat(Food food) {
            System.out.println("我是鱼,我吃东西");
        }
        public void annimal_food() {
            System.out.println("我是鱼");
        }
    }
    class Cat extends Animal{
        public void eat(Food food) {
            System.out.println("我是猫,我要吃东西");
        }
    }
    class Dog extends Animal{
        public void eat(Food food) {
            System.out.println("我是狗,我要吃东西");
        }
    }
    
    

    表示动物a喂食物f

    问题解决的话,请点下采纳

    评论

报告相同问题?

悬赏问题

  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键