在这里,我试图了解java如何实现Thread.currentThread().getName()
我能够从此Thread.currentThread()
了解<class-name>.<method-name>
。但是他们如何调用称为<class-name>.<static_method-name>.<methodName>
的最终方法getName()?
这是什么Java概念?。
以便我可以参考更多。
答案 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
。