无法实例化TimerTask类的对象

时间:2015-02-26 10:58:02

标签: android

我正在尝试使用新的timerTask创建两个定时器,如下面的te代码所示。 timerTask对象是Timedtask3类的对象。 eclipse用红色突出显示“new Timedtask3()”,租约见下面以“// error”结尾的行。

错误显示“无法访问TimerTask00类型的封闭实例。必须使用TimerTask00类型的封闭实例限定分配(例如x.new A(),其中x是实例 of 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");
    }
};
}

2 个答案:

答案 0 :(得分:1)

Timedtask3班级成为static,例如

static class Timedtask3 extends TimerTask {...}

这应该摆脱眼前的问题。

您无法在non static inner class内实例化static method

答案 1 :(得分:-1)

//来自 YouTube “Java Full Course” by Bro Code - “一个简单的实现 //timertask就是添加匿名类...添加未实现的方法(run)...

TimerTask mbTTask = new TimerTask(){
@Override
public void run(){
    System.out.println("Task is complete.");
}
};