我几天都在努力了解下面的代码是如何运作的。
我只是:抽象类:
public abstract class Screen {
protected final Game game;
public Screen(Game game) {
this.game = game;
}
public abstract void update(float deltaTime);
public abstract void paint(float deltaTime);
public abstract void pause();
public abstract void resume();
public abstract void dispose();
public abstract void backButton();
}
和界面:
public interface Game {
public void setScreen(Screen screen);
public Screen getInitScreen();
}
我理解接口方法没有正文,因为他们说 类可以做什么,而不是如何。
然后,当我从扩展Screen抽象类的类调用下面的方法时:
game.getInitScreen();
这种方法究竟会回归什么?一个新的屏幕?但是这个Screen类没有任何内容......没有画布,没有SurfaceView ......这样的调用是什么意思?
答案 0 :(得分:1)
因为在运行时,会有一个类提供Screen
的具体实现。确切地说class
可以用game.getInitScreen().getClass().getName()