从JDK 6.0 Documentation来看,Thread继承于Object且实现了Runnable接口。当调用Thread对象的start()方法时,Thread对象将开始它的线程,并执行实现了Runnable类的run()方法。
竟然Thread实现了Runnable接口,那么Thread其实本身也实现了Runable接口的run()方法。只是方法体里没有内容。如果我们试着执行Thread方法里的run(),那么将不会执行任何操作。
所以,当我们使用一个Thread子类时,应该重写Thread的run()方法,否则启用start()方法将没有意义。
以下是一个重写了Thread里的方法的示例
import java.util.concurrent.*;
public DirThread extends Thread
{
public DirThread()
{
start();
}
public void run()
{
System.out.println("此处重写了Thread的run()方法");
}
public static void main(String[] args)
{
new DirThread();
}
}
输出为:此处重写了Thread的run方法。