【问题标题】:Run method within object对象内的运行方法
【发布时间】:2014-02-14 14:25:30
【问题描述】:

在冲浪的时候,我遇到了一件让我困惑的事情,

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

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

【问题讨论】:

  • 它是一个匿名线程类

标签: java multithreading


【解决方案1】:

它是一个匿名线程类

您已经在创建 Thread 类的实例 - 您只是没有对它做任何事情。您甚至可以在不使用局部变量的情况下调用 start()

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

通过这个问题了解更多信息link

【讨论】:

    【解决方案2】:

    这称为“基于现有类创建匿名实例”。基本上,您创建一个 Thread 类型的新对象实例,并且您还覆盖(在这种情况下) run() 方法。优点是您不必在新文件中声明新类。它是一种快速获取实例并在现场修改它(覆盖)的方法。但是,您不能像使用普通类(将扩展 Thread)一样重用此实例模板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多