为什么要实现继承的抽象方法?

时间:2013-10-07 15:15:03

标签: java android class abstract

我在“开始安卓机器游戏”一书中遇到了一些困惑,第3章,第100-110页。我想我已按照书中的说明操作,但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();
}

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

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

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