Scala 类型的类型(二) - Scala Cool 

JerryXia 发表于 , 阅读 (0)
上一篇

Scala 类型的类型(一)

目录

6. 一个单例对象的类型

Scala 的单例对象( object) 是通过 class 实现的(显然后者就像 JVM 的基础构件)。然而你也会发现我们并不能像一个简单的类一样,轻松地获得一个单例对象的类型……

我常常疑惑该如何传一个单例对象给一个方法,对此我自己也非常惊讶。我的意思是指 obj: ExampleObj 是无效的,因为这种情况 ExampleObj 已经指向了实例,所以它有个 type 的成员,我们可以靠它解决问题。

下面的代码解释了大概的方法:

1
2
3
4
5
object ExampleObj
def takeAnObject(obj: ExampleObj.type) = {}
takeAnObject(ExampleObj)