вызов метода внутри класса - PullRequest
0 голосов
/ 18 марта 2011

Привет

Я разрабатываю свое первое приложение на 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 ....

Я бы хотел, чтобы код был близок к этому. Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 18 марта 2011

Это выглядит на 100% правильно, но общее решение для этого, в ситуациях, когда этот тип вызова не работает, это сделать:

Test.this.StartController(mods)

вместо

StartController(mods)
0 голосов
/ 18 марта 2011

Другим вариантом может быть статический метод StartController (..).

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

И затем изменить вызов на:

Test.StartController(mods);
0 голосов
/ 18 марта 2011

попробуйте вместо этого использовать ExecutorService и интерфейс Runnable.Вы можете увидеть простой пример прямо здесь:

http://programmingexamples.wikidot.com/executorservice

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...