java.lang.Thread类的以下构造函数之间有什么区别

时间:2015-04-18 01:04:02

标签: java multithreading

  

1.new Thread(Runnable target);

     

2.new Thread();

我得到了第一个,但第二个是什么,哪个类启动线程?

2 个答案:

答案 0 :(得分:1)

第一个构造函数允许您传递任何实现Runnable的类,它允许您覆盖该类中的run方法。

如果使用第二个构造函数创建线程,则可以直接覆盖run方法:

new Thread(){
   @Override
   public void run()
   {

   }
};

答案 1 :(得分:0)

第二个构造函数用于子类化Thread,无论是匿名的(参见@ Jean-FrançoisSavard的答案),还是像往常一样:

class YourThread extends Thread {
    YourThread() {
        // implicit super()
    }
    @Override
    public void run() {
        // your thread code
    }
}