Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于接口和线程的困惑_Java_Multithreading - Fatal编程技术网

Java 关于接口和线程的困惑

Java 关于接口和线程的困惑,java,multithreading,Java,Multithreading,我们可以创建接口的引用,但不能创建对象。但为什么线程构造函数接受看起来像对象的新Runnable呢。 e、 g.Thread t=new Threadnew Runnable{} 线程构造函数类似于 Thread t = new Thread(Runnable runn) 而不是新的可运行{}。 当我们做如下所示的事情时 Thread t = new Thread(new Runnable() { @Override public void run() { //

我们可以创建接口的引用,但不能创建对象。但为什么线程构造函数接受看起来像对象的新Runnable呢。
e、 g.Thread t=new Threadnew Runnable{}

线程构造函数类似于

Thread t = new Thread(Runnable runn)
而不是新的可运行{}。 当我们做如下所示的事情时

Thread t = new Thread(new Runnable() {
    @Override
    public void run() {
        // TODO Auto-generated method stub

    }
});
它基本上要求我们实现Runnable inteface中定义的run方法。 或者,我们可以创建一个实现Runnable接口的新类,并在那里实现run方法

public class ThreadA implements Runnable {
    public void run() {
        // thread code goes here            
    }
}
然后我们可以使用

Thread t = new Thread(new ThreadA());

希望这能回答你的疑问。如果有任何疑问,请随时询问。

非常感谢。。。。我觉得这对我来说已经足够了