2012-08-01 76 views
3
public class FirstClass 
{ 
    private FirstClass() 
    { 
     new Thread(new Thread()).start(); 
    } 

    public static void checkSomething(FirstClass clas) 
    { 
     //doing something 
    } 
    private class Thread implements Runnable 
    { 

     @Override 
     public void run() { 
      checkSomething(????); 
     } 

    } 

    public static void main(String[] args) 
    { 
     new FirstClass(); 
    } 
} 

我的問題是,寫什麼?獲得FirstClass類,我不能寫「this」,因爲我會得到Thread。班內班

+3

提示:將類命名爲'java.lang'中的類是一個**真的,真的是壞主意。 – 2012-08-01 12:35:06

回答

9

您可以編寫FirstClass.this來訪問封閉類實例。

+0

事實上,OP可以直接使用FirstClass.checkSomething(),因爲它是靜態的。但我認爲你的回答將更好地適應需求:) – 2012-08-01 12:35:59

+0

:O我不知道這樣的事情,thx很多^^我真的很感謝:) – user1451415 2012-08-01 12:36:34

+0

@AngeloNeuschitzer我認爲他的方法'checkSomething'需要一個'FirstClass'對象參數,並且這是他希望通過在內部類中使用this來達到的對象,以便能夠將其作爲參數傳遞給靜態方法。 – Autar 2012-08-01 12:39:12