loops - 带有迭代 array 循环的接口

  显示原文与译文双语对照的内容
0 0

我遇到了这些 2线的问题。 我需要创建一个具有动物 array的类,使用常量来调整它的大小。 我必须用Fish填充 array 动物,并通过在 array 执行 move() 和 makeSound() 来迭代 2种不同的方法。

以下是这些行:

1 animals[0] = new Fish()

2 for (Animal animal : animals) {


public class Animals {

 public static void main(String[] args) {
 final int SIZE = 6;
 Animal animal[] = new Animal[SIZE];
 animals[0] = new Fish()//1

 for (Animal animal : animals) {//2
 System.out.println("Bubbles");
 System.out.println("Swim");
 }
 }
}

我的接口 Animal:


public interface Animal {
 public void move();
 public void makeSound();
}

以及实现 Animal的类 Fish


public class Fish implements Animal{
@Override
 public void move() {
 System.out.println("Swim");
}

@Override
public void makeSound() {
 System.out.println("Bubbles");
}

private String color;
public String getColor(){
 return color;
}

public void setColor(String color){
 this.color = color;
//Prefix this.color;
 }
}

时间: 原作者:

0 0

要修复的几个语法错误:

  • 将分号添加到 animals[0] = new Fish();
  • 更改 Animal animal[] = new Animal[SIZE];Animal[] animals = new Animal[SIZE];

另外,你应该在 for 循环中执行这里操作:


for(Animal animal : animals){
 animal.makeSound();
 animal.move();
 }

即使 FishAnimal 接口的唯一实现 Animal的类,但是硬编码语句却失败了接口的目的。

原作者:
...