scala - 我是否需要将单例对象的成员导入其在 Scala 中的伴生类中?

标签 scala singleton

好书说:

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/

相关文章:

scala - 如何将非托管依赖项导入到代码中

scala - Spark Streaming HiveContext NullPointerException

scala - 如何将句子拆分为多个空格分隔的单词?

scala - 模拟滞后函数 - Spark 结构化流

python - 如何在 Python 中内存类实例化?

应用程序池的 C# .NET 单例生活

java - 静态上下文保存在 Application 类中并在单例 Toast 构建器中使用,这是否会造成内存泄漏?

java - 为什么在这个多线程应用程序中需要单例模式?

scala - 特征能否保证它在编译时或运行时被伴随对象继承

c++ - 向 Pimpl 类添加单例功能