1

我遇到了这两条线的问题。我需要使用常量来创建一个包含 Animals 数组的类来调整它的大小。我必须通过执行 move()makeSound()的数组以两种不同的方式用 Fish 和 Iterate 填充数组 Animal 。

这些是行:

1animals[0] = new Fish()

2for (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();
}

而我的类Fish实现Animal

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;
    }
}
4

1 回答 1

0

需要修复几个语法错误:

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

此外,你真的应该在for循环中这样做:

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

仅仅硬编码打印语句就违背了拥有Animal接口的目的,即使Fish是目前唯一实现Animal的类。

于 2013-09-21T04:13:36.007 回答