import Java.util.*;class TimePrinter implements Runnable {
int pauseTime;
String name;
public TimePrinter(int x, String n) {
pauseTime = x;
name = n;
}public void run() {
while(true) {
try {
System.out.println(name ":" new 
Date(System.currentTimeMillis()));
Thread.sleep(pauseTime);
} catch(Exception e) {
System.out.println(e);
}
}
}static public void main(String args[]) {
Thread t1 = new Thread(new TimePrinter(1000, "Fast Guy"));
t1.start();------------------------------------------
Thread t1 = new Thread(new TimePrinter(1000, "Fast Guy")); 这句怎么理解 thread构造函数中再new一个timePrinter对象?
当使用 runnable 接口时,您不能直接创建所需类的对象并运行它;必须从 Thread 类的一个实例内部运行它。这句话怎么理解
对象里怎么能再new一个对象?

解决方案 »

  1.   

    创建一个线程只有2个方法:
    1->创建一个类实现runnable接口,然后创建一个该类的对象,然后用该类创建一个Thread对象t,t.run()来执行线程;
    (当使用   runnable   接口时,您不能直接创建所需类的对象并运行它;必须从   Thread   类的一个实例内部运行它)
    2->创建一个类继承Thread对象,创建一个Thread对象t,t.run();Thread   t1   =   new   Thread(new   TimePrinter(1000,   "Fast   Guy")); 
    这句怎么理解   thread构造函数中再new一个timePrinter对象? 
    用一个实现了runnable接口的对象来创建一个Thread对象。用一个已有的对象通过构造函数来创建另一个类型的对象是一个很常见的应用!
      

  2.   

    就是当你实现Runnable接口后,你需要用Thread类的对象去运行它,并把实现Runnable的类(在这里是TimePrinter)的对象作为Thread的初始参数。