-4

我正在尝试实现一个名为 board 的接口Board,但是每当我尝试向我在其中创建的 ArrayList 添加任何内容时,它都会抛出

- Syntax error on token(s), misplaced construct(s) - Syntax error on token "Tile1", VariableDeclaratorId expected after this token

这是完整的代码:

import java.util.ArrayList;


public interface BoardTest {
    public ArrayList<Land> lands = new ArrayList<Land>();

    Land Tile1 = new Land(0,1,0,0,0, "Tile 1");
    lands.add(Tile1);
}

任何帮助将不胜感激!

4

2 回答 2

5

接口不能有实现。

您不能在接口中创建 ArrayList 或调用其任何方法。您所能做的就是为一个方法创建一个方法签名,该方法可能会或可能不会按照您编写的方式执行。

界面的整个想法是将“什么”与“如何”分开。

也许你的意思是:

public interface Board {
    void land(Land l);
}

public class BoardImpl implements Board {
   List<Land> squares = new ArrayList<Land>();

   public void land(Land l) {
      this.squares.add(l);
   }
}
于 2012-10-21T18:51:25.373 回答
2

AnInterface仅包含method带有初始化的声明和字段声明。接口中不能有方法调用之类的语句。

您可能应该使用一个实现接口并在其中完成所有这些工作的类。并且只需在您的界面中声明方法。

于 2012-10-21T18:52:34.077 回答