我在覆盖从TimerTask类中运行的方法时遇到问题。
这是我的代码:
public class PGameCore
{
Toolkit toolKit;
Timer timer;
public PGameCore(int clockIntervalInSeconds)
{
timer = new Timer();
timer.schedule(new CoreTimer(), 1000 * clockIntervalInSeconds);
}
class CoreTimer extends TimerTask
{
public void Run()
{
System.out.println("BEEEP :)");
toolKit.beep();
}
}
}
问题在于:
class CoreTimer extends TimerTask
我正在使用Netbeans。它说: “PGameCore.CoreTimer不是抽象的,并且不会覆盖TimerTask中的抽象方法run()。”
答案 0 :(得分:6)
它说:“PGameCore.CoreTimer不是抽象的,不会覆盖TimerTask中的抽象方法run()。”
您的方法名称为Run
,而应为run
。
答案 1 :(得分:2)
运行,而不是运行 - Java区分大小写。
答案 2 :(得分:0)
使用eclipse或netbean IDE。它将解决许多编译时问题。
在上述情况下,您应该使用run
方法。这是区分大小写的。您使用了Run
,其中R是大写,这是不正确的方法。
养成避免此类错误的习惯。在编写方法名称时使用 Camel 大小写,并在编写类名时使用 Pascal 大小写。