1

我对“开始安卓游戏”一书,第 3 章,pg.100-101 有一些困惑。我想我已经按照书上的说明进行操作,但是 IDE 仍然给我这个错误:

MyAwesomeGame 类型必须实现继承的抽象方法 Game.getFileIO()

我该如何解决它,还是我还没有掌握它的工具?

这是代码:

public class MyAwesomeGame extends AndroidGame {
    public Screen getStartScreen(){
        return new MySuperAwesomeStartScreen(this);
    }
}


public abstract class AndroidGame implements Game {

}


public interface Game {
    public Input getInput();

    public FileIO getFileIO();

    public Graphics getGraphics();

    public Audio getAudio();

    public void setScreen(Screen screen);

    public Screen getCurrentScreen();

    public Screen getStartScreen();
}
4

2 回答 2

5

一个具体类必须实现其祖先抽象类的所有抽象方法。

在您的情况下,抽象父类 -AndroidGame实现一个接口 - Game,因此该抽象类的每个具体子类(例如您的MyAwesomeGame类)必须实现该接口的所有方法。

于 2013-10-07T15:16:42.907 回答
1

当您尝试创建实现接口的类时,您必须实现类中的所有方法,因为接口中的所有方法都是隐式抽象的。

在您的情况下,您尚未在具体子类或抽象类中实现 Game 接口的任何方法。这就是问题的原因。

于 2013-10-08T03:31:48.953 回答