【发布时间】:2021-09-01 20:04:29
【问题描述】:
我正在编写一个代码,其中包含狗的名字ArrayList。接口方法允许动物发出声音(例如"woof")。我有一个 for 循环,它遍历整个数组并确定动物是否说。我遇到的问题是obj.speak() 不工作。每当我运行它时,它会说找不到符号,但我很困惑,因为我已经把它放在那里了。我不知道如何解决这个问题,因为我在多个网站上寻找答案,但它们没有帮助。我假设 ArrayList 正在循环,因为我放了一个 for 循环来遍历整个事情。
public class Main {
public static void main(String[] args) {
ArrayList dogs= new ArrayList();
dogs.add(new Dog("Fred"));
dogs.add(new Dog("Wanda"));
for (Object e: dogs) {
e.speak();
}
}
}
interface Speak{
public void speak();
}
class Dog implements Speak {
private String name;
public Dog(String name) {
this.name = name;
}
public void speak() {
System.out.println("Woof");
}
}
【问题讨论】:
标签: java for-loop generics arraylist interface