.sleep不是Thread的成员?

时间:2017-01-20 16:09:44

标签: scala

Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_102).
Type in expressions for evaluation. Or try :help.

scala> Thread.currentThread.sleep(1000)
<console>:12: error: value sleep is not a member of Thread
   Thread.currentThread.sleep(1000)
                        ^

scala> 

咦?

scala> Thread.currentThread.getClass.getMethods.filter(_.getName == "sleep").last.invoke(Thread.currentThread, new java.lang.Long(1000))

res2: Object = null // after a second-long delay. Duh

是什么给出了?

1 个答案:

答案 0 :(得分:4)

Thread.sleep()是一种静态方法。

试试这个:

Thread.sleep(1000)

请记住,这是一个Java类。在Java中,事情的工作方式略有不同,有静态和实例方法。静态方法不属于实例,您可以在没有包含对象的情况下调用它们。