Java 与实例化自定义对象数组混淆

Java 与实例化自定义对象数组混淆,java,arrays,for-loop,instantiation,Java,Arrays,For Loop,Instantiation,我有一个叫做CrabWorld的课程,里面有所有的演员。我有一个Lobster()数组,当构造函数调用它时,我会初始化它。我有一个简单的for循环,它在数组中循环并实例化每个龙虾 public class CrabWorld extends World { public Lobster[] lobsters = new Lobster[5]; public Crab playerCrab = new Crab(); private Counter score = new Counter("S

我有一个叫做CrabWorld的课程,里面有所有的演员。我有一个Lobster()数组,当构造函数调用它时,我会初始化它。我有一个简单的for循环,它在数组中循环并实例化每个龙虾

public class CrabWorld extends World {

public Lobster[] lobsters = new Lobster[5];
public Crab playerCrab = new Crab();

private Counter score = new Counter("Score: ");
private int numbOfWorms = 0;

/**
 * Constructor for objects of class CrabWorld.
 * 
 */
    public CrabWorld(){

        super(560, 560, 1); 

        for (int i = 0; i < lobsters.length; i++){
            Lobster lobsters[i] = new Lobster();
        }

        prepare();
    }
}
公共类CrabWorld扩展世界{
公共龙虾[]龙虾=新龙虾[5];
公共螃蟹playerCrab=新螃蟹();
专用计数器分数=新计数器(“分数:”);
私有int numbOfWorms=0;
/**
*类CrabWorld的对象的构造函数。
* 
*/
公蟹世界(){
超级(5605601);
对于(int i=0;i
这就是我最初遇到的情况,但是我会得到一个错误,说“expected']'”,它不复杂,但是当我从lobsters变量中删除[I]时,它很容易编译,没有错误。这就是混淆的地方,因为我的印象是,在数组中实例化对象的唯一方法是循环它们并通过I引用它们。我试过几种不同的龙虾组合。也就是说,离开龙虾的排版,去掉“[I]”。这两种方法都不管用,我很好奇是否有人能指出这个问题,尽管值得,我还是需要把它完成

注意:脚本后面已经定义了prepare()方法。(super是一个@override)

应该是

lobsters[i] = new Lobster();
lobsters[i] = new Lobster();
Lobster
数组已经声明,因此您只需将
Lobster
实例分配给数组的每个索引。

在for循环中,只需使用:

lobsters[i] = new Lobster();