我在“开始安卓机器游戏”一书中遇到了一些困惑,第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();
}
答案 0 :(得分:5)
具体类必须实现其祖先抽象类的所有抽象方法。
在您的情况下,抽象父类 - AndroidGame
- 实现一个接口 - Game
,因此该抽象类的每个具体子类(例如您的MyAwesomeGame
类)必须实现该界面的所有方法。
答案 1 :(得分:1)
当您尝试创建实现接口的类时,您必须实现类中的所有方法,因为接口中的所有方法都是隐含抽象的。
在您的情况下,您没有在具体子类或抽象类中实现任何Game接口方法。这就是问题的原因。