2011-06-30 82 views
3

我知道下面的這段代碼並不完美,但它完成了我想要的功能。我的問題是我無法理解「this」關鍵字指向哪個對象。「this」指向哪裏?

public class Browser extends JFileChooser{ 

    public File browser_creation(){ 

    int r; 

    JFileChooser browser1 = new JFileChooser();   
    r = browser1.showOpenDialog(this); 


    if (r == Browser.APPROVE_OPTION) { 
     return browser1.getSelectedFile(); 
    } 
    else { 
     return null; 
    } 
    } 
} 
+0

「遠非完美」。這並不壞。 ;)只有'擴展JFileChooser'不好。用'null'代替'this',它會變得越來越好。 –

+0

這和在if語句中使用browser1而不是Browser。那麼,對於這樣一小段代碼,這些東西是相當多的東西:) –

回答

5

它指向執行對browser_creation()實例方法Browser對象。

2

browser_creation()是一個實例方法,這意味着它是特定於對象它被調用。 this關鍵字指向當前對象。例如,調用myObject.browser_creation()會使this引用myObject。