2015-02-18 1 views
0

Я разобрал все, чтобы посмотреть, смогу ли я сузить свою проблему и понять ее, но я смущен, чтобы сказать, что я все еще в тупике. Может кто-нибудь объяснить мне, почему моя IDE не может решить «начать»? Я уверен, что это глупая ошибка :(Java реализует Runnable: не удается разрешить Symbol 'start'

public class main { 

    Thread messageThread = new Thread(new MessageLoop()); 
    messageThread.start(); 

    class MessageLoop implements Runnable { 

     public void run(){ 
      //Do stuff here 
     } 
    } 
} 
+0

Код 'MessageThread.start()' не помещается в блоке метода или конструктора, в теле класса. – Titus

+0

Вы пытаетесь выполнить инструкцию вне функционального контекста (т. Е. Метода) – MadProgrammer

+0

Когда должна выполняться эта строка? Почему ты так думаешь? –

ответ

1

Вместо определение вашего класса в вашем теле метода. Имена переменных Java начинаются с прописной буквой по соглашению. Комментарии начинаются с // не \\. Я думаю, что вы хотели что-то вроде

public static void main(String[] args) { 
    Thread messageThread = new Thread(new MessageLoop()); 
    messageThread.start(); 
} 

static class MessageLoop implements Runnable { 
    public void run() { 
     // Do stuff here 
    } 
} 
1

использовать следующие подходы.

Approach1

public static void main(String[] args) { 


      Thread MessageThread = new Thread(new MessageLoop()); 
      MessageThread.start(); 

} 

    static class MessageLoop implements Runnable { 

      public void run(){ 
       System.out.println("helllo"); 
      } 
     } 

подход 2

public static void main(String[] args) { 
      Thread MessageThread2 = new Thread(new Runnable(){ 
       public void run(){ 
         System.out.println("helllo2"); 
        }  
      }); 
      MessageThread2.start(); 
} 
Смежные вопросы