不懂这段代码为什么这么写,帮解释解释

一匹野狼 2008-08-01 03:42:16
package test;
import java.util.Timer;
import java.util.TimerTask;
//主类
public class Test{
public Test(){
Timer myTimer = new Timer();
Task1 mytask1 = new Task1();
Task2 mytask2 = new Task2();
//安排第一项工作
myTimer.schedule(mytask1, 1000, 1000);
myTimer.schedule(mytask2,2000,2000);
}
public static void main(String[] args){
System.out.println("开始执行例程工作任务");
new Test();
}
}
class Task1 extends TimerTask{
int ascending =1;
public void run(){
if(ascending <=3){
System.out.println("第一项工作");
System.out.println("ascending变量递加运算:"+ascending);
ascending++;
}
else{
System.out.println("当变量值为三时,停止第一项工作任务");
cancel();
}


}
}
class Task2 extends TimerTask{
int a = 10;
public void run(){
if(a>=6){
System.out.println("第二项工作");
System.out.println("工变量递减运算:"+a);
a--;
}
else{
System.out.println("当变量值为六时停止工作");
cancel();
}
}
}
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
justinavril 2008-08-01
  • 打赏
  • 举报
回复
执行Test类的构造函数 返回一个实例化的对象 相当于简写吧 全写就是
Test() test = new Test();
skylovehang 2008-08-01
  • 打赏
  • 举报
回复
NEW TEST创建一个对象就会去执行其构造函数,也就是执行
public Test(){
}
yaleond 2008-08-01
  • 打赏
  • 举报
回复
new Test()就会去创建一个Test对象,从而去调用Test类里的构造方法,在它的构造方法里不是
有:
Timer myTimer = new Timer();
Task1 mytask1 = new Task1();
Task2 mytask2 = new Task2();
//安排第一项工作
myTimer.schedule(mytask1, 1000, 1000);
myTimer.schedule(mytask2,2000,2000);

上面不是就是去做这个文件想做的事啊.
ZangXT 2008-08-01
  • 打赏
  • 举报
回复
得到了一个Test对象,执行其构造方法。
因为该对象后面不需要再引用,所以没有保存对它的引用。
你可以这样理解:
应该这样写:
Test test=new Test();
因为test执行完这句之后就用不着了,所以不写也可以。
一匹野狼 2008-08-01
  • 打赏
  • 举报
回复
那个new Test()为什么是这样写,这样写的意思是什么

62,614

社区成员

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

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