理解libgdx中的“this”关键字

时间:2017-10-10 10:42:23

标签: java libgdx splash-screen

我对“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();
    }
}

1 个答案:

答案 0 :(得分:1)

this引用当前类的当前实例,因此第一个示例将当前GDXGame类实例从#create()发送到SplashScreen构造函数,而第二个是调用SplashScreen的空构造函数。至于为什么它们的行为相同或看起来,这取决于SplashScreen的实例对GDXGame

的引用的作用