Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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,冲浪的时候,我经历了一件让我困惑的事情 Thread x=new Thread() { void run() { //some code } }; 我想知道我们如何直接使用run方法来制作这个对象,这样做的好处是什么,我们可以用任何对象定义任何方法,或者我们必须重写一个方法,我只是对这里发生的事情感到困惑。请帮我解决一下这是一个匿名线程类 您已经在创建Thread类的一个实例,只是没有对它做任何操作。您可以调用start(),甚至不使用局部变量: Thread x = new T

冲浪的时候,我经历了一件让我困惑的事情

Thread x=new Thread()
{
 void run()
 {
   //some code 
 }
};

我想知道我们如何直接使用run方法来制作这个对象,这样做的好处是什么,我们可以用任何对象定义任何方法,或者我们必须重写一个方法,我只是对这里发生的事情感到困惑。请帮我解决一下这是一个匿名线程类

您已经在创建Thread类的一个实例,只是没有对它做任何操作。您可以调用
start()
,甚至不使用局部变量:

Thread x = new Thread() {
    public void run() {
        System.out.println("something");
    }
};
x.start();

有关“基于现有类创建匿名实例”的更多信息,请仔细阅读此问题。基本上,您创建了一个Thread类型的新对象实例,并且还重写了(在这种情况下)run()方法。优点是不必在新文件中声明新类。这是一种获取实例并当场修改(覆盖)的快速方法。但是,您不能像使用普通类(扩展线程)那样重用此实例模板。

它是一个匿名线程类