我试图了解 Scala 中对象私有变量的实现。Scala 编译这个类
class Counter{
private[this] var age = 0
}
转换成以下java字节码:
public class Counter implements scala.ScalaObject {
private int age;
public Counter();
}
但是,由于 JVM 不支持对象私有字段,我们有旧的私有字段,可以从该类的其他实例访问。因此,对我来说,在隐藏私有字段方面,上一课与以下课之间的区别尚不清楚。
class Counter2{
private var age = 0
}
public class Counter2 implements scala.ScalaObject {
private int age;
private int age();
private void age_$eq(int);
public Counter2();
}