日期:2014-05-20  浏览次数:20659 次

Timer定时器的一个问题
import   java.util.Date;
import   java.util.TimerTask;
import   java.util.Timer;

        class   CheckTest   extends   TimerTask   {
                public   void   run()   {
                System.out.println( "the   test   string ");
                }
        }


class   ttest{
        public   static   void   main(String[]   args)   {
              CheckTest   mytask=new   CheckTest();
              Timer   mytimer=new   Timer();
                mytimer.schedule(mytask,1000,1000);
                mytask.run();
        }
}

这段程序很简单,每隔一秒打印一次the   test   string字符串
我想问一下如何才能打印动态的字符串,也就是说可以将要打的字符串作为参数传进去,可以打印任何想打的东西。


------解决方案--------------------
run()函数可以带参数吧!
public void run(String str) {
System.out.println(str);
}

------解决方案--------------------
在这个类CheckTest 里面增加setXXX(XXX xxx) run方法中取自己对象中set的数据。
------解决方案--------------------
class CheckTest extends TimerTask {
   String str;
public void setStr(String str)
{
this.str=str;
}
public void run() {
System.out.println(str);
}
}

------解决方案--------------------
在构造函数中传参数进去比较方便。
import java.util.Date;
import java.util.TimerTask;
import java.util.Timer;

class CheckTest extends TimerTask {
private String str;
public void run() {
System.out.println(str);
}
CheckTest(String str){
this.str=str;
}
}


class ttest{
public static void main(String[] args) {
CheckTest mytask=new CheckTest( "the test string ");
Timer mytimer=new Timer();
mytimer.schedule(mytask,1000,1000);
mytask.run();
}
}