【发布时间】:2013-10-14 05:45:23
【问题描述】:
我对“开始 android 游戏”一书,第 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();
}
【问题讨论】:
-
这不是唯一的错误。您必须在 MyAwesomeGame 类中实现您在 Game 中声明的所有函数。
-
您似乎不太了解实现方面的一些内容。你认为这意味着什么? (我不是要刻薄,而是要尝试理解这种混乱。)
-
我的意思是实现的理论和概念。在这种情况下,即使我遵循了本书的代码,仍然弹出错误的原因。
-
"当抽象类被子类化时,子类通常为其父类中的所有抽象方法提供实现。但是,如果没有,则子类也必须声明为抽象的。”查看此站点以获取有关 Java 抽象类的更多信息:docs.oracle.com/javase/tutorial/java/IandI/abstract.html
-
如果这是本书的代码,则本书提供的代码不完整。如果书上说代码是完整的,书上就错了。给定一本书和 javac,如果他们不同意,你几乎总是可以假设 javac 是正确的。
标签: java android class abstract