我想了解对象私有变量在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();
}
可能重复的[私人\ [this \] vs私人](http://stackoverflow.com/questions/9698677/privatethis-vs-private) – zellus 2013-05-09 07:46:32
你的问题是什么?显而易见的区别是,访问对象专用字段是另一个实例的编译时错误。但我认为你知道这一点,所以我不确定在这里问什么。 – 2013-05-09 09:47:53
我的问题是如何实现,如果JVM不支持对象私有字段 – damluar 2013-05-09 09:50:42