本帖最后由 周兴华 于 2012-8-24 19:28 编辑
代码如下:
public class ThreadDemo {
public static void main(String[] args){
Test1 t=new Test1("mythread");
t.start();
}
}
class Test1 extends Thread{
public void run(){
for(int i=0;i<50;i++){
System.out.println(this.getName()+" run"+i+"次");
}
}
}
在API中Thread类的构造方法中有这么一条:
public Thread(String name)分配新的 Thread 对象。这种构造方法与 Thread(null, null, name) 具有相同的作用。 参数:name - 新线程的名称。
问题是如果代码中的 Test1 t=new Test1("mythread");改为 Test1 t=new Test1();就能通过编译,而按照API中的构造方法Thread(String name)去创建Thread对象就不能通过编译,
这是为什么呢? |
|