java - Java Thread trail 中 "new"周围的括号?

标签 java syntax

我开始在线程中编写一些 Java 代码,并在 Oracle 的教程部分遇到了一行我不理解的代码,我希望这里有人可以为我解释它为什么有效:

(new Thread(new HelloRunnable())).start();

在这一行中,声明了一个新线程但没有直接应用于对象,然后立即调用 start 方法来运行线程。这是如何运作的?为什么新的 这个括号内的关键字工作?我很想澄清这里发生的事情,谢谢。完整来源来自: http://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html

最佳答案

Thread 实例周围的括号是不必要的。以下内容同样有效

new Thread(new HelloRunnable()).start();

如果展开语句,就相当于这段代码

Runnable myrunnable = new HelloRunnable();
Thread mythread = new Thread(myrunnable);
mythread.start();

教程简明扼要。

关于java - Java Thread trail 中 "new"周围的括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392447/

相关文章:

mysql - 在 where 子句中使用 IS NOT 的语法错误

c - 在 C 中使用模板函数的最短示例?

Python:为什么这个字符串无效?

java - 添加 CriteriaBuilder.between(Date) 到谓词?

javascript - 将 require() 语法翻译成 import syntax node js

class - dart:对于语法专家,如何在嵌套类中交换子树

java - 无法从 Vert.x MQTT 服务器接收消息

java - 从 COBOL 文件生成属性名称

java - 将 DataNucleus DB 引擎 (Neodatis) 升级到最新版本会生成 ClassCastException

java - 回复 : jdbc driver for MySQL cannot be found from WEB-INF/lib directory