Java - 接口不允许ArrayList正常运行

时间:2012-10-21 18:50:11

标签: java interface arraylist

我正在尝试实现一个名为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);
}

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

接口无法实现。

您无法在界面中创建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);
   }
}

答案 1 :(得分:2)

Interface仅包含method声明和初始化字段声明。 您不能在接口中使用方法调用之类的语句。

你应该使用一个实现接口的类,并在那里做所有这些东西。并且只需在您的界面中进行方法声明。