我开始在线程中编写一些 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/