好书说:
A class and its companion object can access each other’s private members.
也许天真地,我认为这意味着一个类不需要显式地从它的伴生对象中导入成员。即,以下将起作用:
object Foo {
def bar = 4
}
class Foo {
def foo = bar
}
嗯,你读这篇文章的原因是它没有。所以我真的需要这样声明:
class Foo {
import Foo._
def foo = bar
}
最佳答案
是的,正如您所说,您确实如此。有访问权,也有范围——伴随类/对象拥有的是访问权,而不是范围。
这就像声明某些东西是公共(public)的还是私有(private)的——它不会将这些成员带入每个人的范围,只是让他们访问它。
关于scala - 我是否需要将单例对象的成员导入其在 Scala 中的伴生类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526342/