Java 与实例化自定义对象数组混淆
我有一个叫做CrabWorld的课程,里面有所有的演员。我有一个Lobster()数组,当构造函数调用它时,我会初始化它。我有一个简单的for循环,它在数组中循环并实例化每个龙虾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
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();