TimerTask

Geeker-X 2016-05-18 11:00:26
class MyTimerTask extends TimerTask {

@Override
public void run() {
System.out.println("go..");
new Timer().schedule(new MyTimerTask(), 2000);
}
}
new Timer().schedule(new MyTimerTask(), 2000);

***************************

new Timer().schedule(new TimerTask() {

@Override
public void run() {
System.out.println("go..");
new Timer().schedule(new TimerTask() {

@Override
public void run() {
System.out.println("go..");
}
}, 2000);

}
}, 2000);


为何 上面那种可以重复输出,下面这种却不可以重复(只有两次)
...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
skgary 2016-05-20
  • 打赏
  • 举报
回复
引用 2 楼 jlulimo 的回复:
[quote=引用 1 楼 skgary 的回复:] 第二种里面,第二次的task并没有再去创建Timer。 第一种,新的TimerTask里总是创建TimerTask
是的,就是因为它是个abstract class 匿名对象 只能创建一次?[/quote] 那你自己想办法把这个对你再找回来。 我暂时想不到。
Geeker-X 2016-05-19
  • 打赏
  • 举报
回复
引用 1 楼 skgary 的回复:
第二种里面,第二次的task并没有再去创建Timer。 第一种,新的TimerTask里总是创建TimerTask
是的,就是因为它是个abstract class 匿名对象 只能创建一次?
skgary 2016-05-19
  • 打赏
  • 举报
回复
第二种里面,第二次的task并没有再去创建Timer。 第一种,新的TimerTask里总是创建TimerTask

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧