我想了解對象私有變量在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