您好我创建了一个测试java代码,但类runnable不起作用。可运行构建器内部的代码工作但覆盖运行不起作用
import java.util.Timer;
import java.util.TimerTask;
import java.util.Random;
public class Test
{
//timer for change zone
private Timer timeZoneChange;
Test()
{
timeZoneChange = new Timer();
timeZoneChange.schedule(new TimeForChangeZone(), 1 * 1000);
}
public class TimeForChangeZone extends TimerTask
{
@Override
public void run()
{
System.out.println("testing..");
new UpdatePvpFlagZone(false);
//change zone flag
timeZoneChange.schedule(new TimeForChangeZone(), 1 * 60000);
}
}
public class UpdatePvpFlagZone implements Runnable
{
//remove pvp flag
private boolean removePvpFlag;
public UpdatePvpFlagZone(boolean removePvpFlag)
{
removePvpFlag = removePvpFlag;
}
@Override
public void run()
{
for (int i = 0; i<10; i++)
{
if (i == 5)
break;
//update flag
if (!removePvpFlag)
{
if (i == 6)
break;
System.out.println(i);
break;
}
//remove flag
if (i == 7)
break;
System.out.println(i);
}
}
}
public static void main(String[] args)
{
new Test();
}
}
控制台打印此内容,但内部覆盖运行不打印。
> java Test
testing..
答案 0 :(得分:0)
在这一行new UpdatePvpFlagZone(false);
上,调用构造函数,但尚未启动runnable。
像这样启动runnable:
UpdatePvpFlagZone upfz new UpdatePvpFlagZone(false);
upfz.run();