我对“this”关键字感到困惑。这里有两个代码示例,它们提供相同的输出,那么它们之间的区别是什么?我也有其他屏幕类。但游戏的起点是SplashScreen。
public class GDXGame extends Game {
@Override
public void create() {
AssetLoader.load();
setScreen(new SplashScreen(this));
}
@Override
public void dispose() {
super.dispose();
AssetLoader.dispose();
}
}
第二名:
public class GDXGame extends Game {
@Override
public void create() {
AssetLoader.load();
setScreen(new SplashScreen());
}
@Override
public void dispose() {
super.dispose();
AssetLoader.dispose();
}
}
答案 0 :(得分:1)
this
引用当前类的当前实例,因此第一个示例将当前GDXGame
类实例从#create()
发送到SplashScreen
构造函数,而第二个是调用SplashScreen
的空构造函数。至于为什么它们的行为相同或看起来,这取决于SplashScreen
的实例对GDXGame