在Scala中,我有以下类:
class A(param: String) {
object B {
lazy val db = {new D(param)}
}
}
Run Code Online (Sandbox Code Playgroud)
然后从客户端代码我必须多次创建A类对象,但只能初始化一次B.db参数.目前,这不起作用,因为它将每次创建对象B的新实例并创建类A的实例.
为了添加一些透视图,B.db对象是Mongo类的一个实例,根据文档需要初始化一次.你会怎么做?
将它放在伴侣对象中而不是内部对象中
object A {
apply(param:String) {
new A
}
lazy val db = {..}
}
class A{
}
Run Code Online (Sandbox Code Playgroud)