Java 接口 - Return 方法调用
Java interface - Return on method call
几天来我一直在努力理解下面的代码是如何工作的。
我只有:一个摘要 class:
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();
}
我理解接口方法没有主体,因为它们说 什么 classes 可以做什么,而不是 如何。
然后,当我从扩展 Screen 摘要 class 的 class 调用下面的方法时:
game.getInitScreen();
这个方法究竟会是什么return?新屏幕?但是这个屏幕上什么都没有class...没有canvas,没有SurfaceView...这样的调用有什么意义?
因为,在 运行 时,将有一个 class 提供 Screen
的具体实现。 class
究竟是什么可以用 game.getInitScreen().getClass().getName()
之类的东西来确定
几天来我一直在努力理解下面的代码是如何工作的。
我只有:一个摘要 class:
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();
}
我理解接口方法没有主体,因为它们说 什么 classes 可以做什么,而不是 如何。
然后,当我从扩展 Screen 摘要 class 的 class 调用下面的方法时:
game.getInitScreen();
这个方法究竟会是什么return?新屏幕?但是这个屏幕上什么都没有class...没有canvas,没有SurfaceView...这样的调用有什么意义?
因为,在 运行 时,将有一个 class 提供 Screen
的具体实现。 class
究竟是什么可以用 game.getInitScreen().getClass().getName()