如何在Java中实现Thread.currentThread()。getName()?

时间:2018-11-04 06:58:36

标签: java

在这里,我试图了解java如何实现Thread.currentThread().getName()

我能够从此Thread.currentThread()了解<class-name>.<method-name>。但是他们如何调用称为<class-name>.<static_method-name>.<methodName>的最终方法getName()?

这是什么Java概念?。

以便我可以参考更多。

4 个答案:

答案 0 :(得分:2)

currentThread()返回一个Thread类的实例,该实例具有一个getName()方法。

只要您处理对象,就可以“链接”的方法数量没有限制

“最终方法”不会影响这一事实

答案 1 :(得分:2)

创建没有任何名称的新线程时。

然后

  public Thread() {
        init(null, null, "Thread-" + nextThreadNum(), 0);
    }

名称将分配为:Thread-<some number>

现在,当调用Thread.currentThread()时,将返回Thread对象。 Thread类具有getName()方法,该方法返回名称。

您可以从java源代码中引用Thread类代码。

答案 2 :(得分:1)

Thread.currentThread()将返回Thread对象,getName是实例方法。

Thread t = Thread.currentThread()
t.getName()

答案 3 :(得分:1)

Thread.getCurrentThread()返回一个Thread对象。然后立即在其上调用方法getName()。这两个代码片段执行相同的操作:

String n = Thread.currentThread().getName();

并且:

Thread t = Thread.currentThread();
String n = t.getName();

尽管如此,请不要试图在任何地方这样做。如果在第一个方法返回null并在其上调用第二个方法时执行NullPointerExceptions,则会发生此情况。

这种类型的方法链接的一种常见做法是在构建器模式中找到的,在这种模式中,保证方法永不返回null