2011-03-18 92 views
0

問候調用方法

我發展我在java中第一個應用程序,我想知道我怎麼可以做以下

我創造了這個

public class Test 
{ 
    ... 

    public void control() 
    { 
      final ArrayList<Module> mods = new ArrayList<Module>(); 
      if (i == 0) 
      { 
       mods.add(null); 
       mods.add(moduleList.get(i)); 
       Thread t = new Thread(new Runnable() 
       { 
        public void run() 
        { 
         StartController(mods); 
        }    
       });  
      } 
    } 

    public void StartController(ArrayList<Module> modList) 
    { 
      //Do Stuff 
    } 
} 

但我無法做到這一點!他找不到StartController ....

我想保持代碼接近此。有沒有辦法做到這一點?

+1

實際上,如圖所示,這應該只是罰款。您的實際代碼在某種程度上必須與此不同。 – 2011-03-18 16:19:20

+0

以小寫字母開頭mentods的名字是一個好習慣。在多詞的名稱中,第二個單詞和後面的單詞的首字母應該大寫。即公共無效startController(ArrayList modList)更多信息[這裏](http://download.oracle.com/javase/tutorial/java/javaOO/methods.html) – Bartzilla 2011-03-18 16:22:22

+0

嗡嗡聲......歐內斯特我相信你是對的,可能是有車的IDE ....它工作! – Killercode 2011-03-18 16:24:18

回答

1

這看起來100%正確的,但一個常見的解決方案,在situtations那裏需要的呼叫類型不工作,是做:的

Test.this.StartController(mods) 

代替

StartController(mods) 
0

另一種選擇可能是使StartController(..)方法是靜態的。

public static void StartController(ArrayList<Module> mods) { 
    // do stuff 
} 

,然後更改呼叫:

Test.StartController(mods);