我来自 Java,像大多数 Java 程序员一样,我读过 J. Bloch 的《Effective Java》,其中他建议尽可能减少字段访问级别。我对像 akka 这样强大的框架使用这样的公共(public)值感到有点惊讶:
trait Actor {
type Receive = Actor.Receive
implicit val context: ActorContext = {
//ommited for simplicity
}
implicit final val self = context.self //MUST BE A VAL, TRUST ME
//...
}
Scala 中使用公共(public) val
很常见吗?对此的约定是什么?因为在Java中,一般情况下我肯定不会公开字段。 (当然,在某些情况下私有(private)字段可能不切实际,但这绝对是一个异常(exception))。
最佳答案
在java中,使用getter和setter而不是公共(public)字段,而scala中的统一访问主体必须使用getter和setter。
http://joelabrahamsson.com/learning-scala-part-nine-uniform-access/
关于java - Scala 中公共(public)值的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39125842/