-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

には、初期化を伴う宣言とフィールド宣言Interfaceのみが含まれます。methodインターフェイスにメソッド呼び出しなどのステートメントを含めることはできません。

おそらく、インターフェイスを実装し、そこですべてのことを行うクラスを使用する必要があります。そして、インターフェースにメソッド宣言をするだけです。

于 2012-10-21T18:52:34.077 に答える