2017-10-10 116 views
0

我對「this」關鍵字有困惑。這裏有兩個代碼示例給出相同的輸出,所以它們之間的區別是什麼?我也有其他的屏幕類。但遊戲的起點是SplashScreen。瞭解libgdx中的「this」關鍵字

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

this指當前類的當前實例,所以第一實施例發送當前GDXGame類實例從中#create()被調用到SplashScreen構造,而第二個是調用SplashScreen的空構造函數。至於爲什麼他們的表現相同或似乎取決於SplashScreen的一個實例對GDXGame的參考