Scala 类型的类型(二) - Scala Cool
上一篇
目录
6. 一个单例对象的类型
Scala 的单例对象( object
) 是通过 class
实现的(显然后者就像 JVM 的基础构件)。然而你也会发现我们并不能像一个简单的类一样,轻松地获得一个单例对象的类型……
我常常疑惑该如何传一个单例对象给一个方法,对此我自己也非常惊讶。我的意思是指 obj: ExampleObj
是无效的,因为这种情况 ExampleObj
已经指向了实例,所以它有个 type
的成员,我们可以靠它解决问题。
下面的代码解释了大概的方法:
1 2 3 4 5 | object ExampleObj def takeAnObject(obj: ExampleObj.type) = {} takeAnObject(ExampleObj) |