2015-02-26 6 views
0

Я пытаюсь создать два таймера каждый с новым таймером, как показано в приведенном ниже коде te. объект timerTask является объектом класса Timedtask3. eclipse подчеркивает «новый Timedtask3()» красным цветом, арендует линии, заканчивающиеся на «// ошибка» ниже.не удалось создать объект класса TimerTask

ошибка говорит: «Нет доступного экземпляра типа TimerTask00. Должен квалифицировать выделение с помощью экземпляра экземпляра типа TimerTask00 (например, x.new A(), где x является экземпляром TimerTask00)».

как исправить эту ошибку?

Код:

public class TimerTask00 { 

public static void main(String[] args) { 

    Timer timer = new Timer(); 
    timer.schedule(new Timedtask3(), 5000);//error 

    timer.cancel(); 
    timer.purge(); 

    timer = new Timer(); 
    timer.schedule(new Timedtask3(), 5000);//error 
    } 

    class Timedtask3 extends TimerTask { 

    public void run() { 
     // TODO Auto-generated method stub 
     System.out.println("timer 3"); 
    } 
}; 
} 
+1

ur Timedtask3 должен быть статическим, насколько я знаю. поскольку вы непосредственно используете внутренний класс в статическом методе (main) – nafas

ответ

1

сделать вас Timedtask3 класс быть static, например,

static class Timedtask3 extends TimerTask {...} 

Это должно избавиться от непосредственной проблемы.

Вы не можете создать экземпляр non static inner class в пределах static method.

Смежные вопросы