2011-03-18 93 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);