gpt4 book ai didi

scala - 在 Scala 中的对象成员上使用 private[this]

转载 作者:行者123 更新时间:2023-12-04 19:35:25 24 4
gpt4 key购买 nike

在以下代码中:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com