在以下代码中:
object MyObj {
private[this] def myMethod = .....
}
我对访问修饰符(私有(private)、公共(public)......等)的 this 修饰符的理解是 this 的存在使其特定于该实例!在上述情况下,我们只有一个实例。那么这不是多余的吗?
最佳答案
一个 private
成员(称为类私有(private))可以从类及其伴生对象访问。一个 private[this]
成员(称为对象私有(private))确实无法从伴随对象外部访问。
class MyObj {
MyObj.classPrivate
MyObj.objectPrivate // error: symbol is not accessible
}
object MyObj {
private def classPrivate = ???
private[this] def objectPrivate = ???
}
所以简而言之,这里的关键字不是多余的。
关于scala - 在 Scala 中的对象成员上使用 private[this],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30090036/