public abstract interface Evaluator { public abstract int evaluateBoard(Board board); public abstract int getGameResult(Board board); public abstract int getMove(Board board); public abstract void setLevel(int level); } ってinterfaceなんだからabstructいらないんじゃない? public interface Evaluator { public int evaluateBoard(Board board); public int getGameResult(Board board); public int getMove(Board board); public void setLevel(int level); }