2017-10-10 6 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(); 
    } 
} 

, 2 : 1, 예를 #create()SplashScreen 생성자 호출되고있는 현재 GDXGame 클래스 인스턴스를 전송하므로

public class GDXGame extends Game { 
    @Override 
    public void create() { 
     AssetLoader.load(); 
     setScreen(new SplashScreen()); 
    } 
    @Override 
    public void dispose() { 
     super.dispose(); 
     AssetLoader.dispose(); 
    } 
} 

답변

1

this는 반면, 현재 클래스의 현재 인스턴스를 지칭 두 번째는 SplashScreen에 대한 빈 생성자를 호출합니다. 그들이 SplashScreen의 인스턴스가 GDXGame

과 관련하여 무엇을하는지에 따라 달라 지거나 나타나는 이유에 관해서는