scala中的对象私有字段

时间:2013-09-19 05:55:47

标签: java scala

我是scala的新手,对它的一些用法有点困惑。 scala中的“对象私有”字段(private [this])可以被认为是java中的ThreadLocal吗? (每个对象都有自己的副本)。

1 个答案:

答案 0 :(得分:0)

你错了。使用private[this],您只能从该对象(§5.3)中访问该成员:

  

另一种形式的资格是私人的[这]。成员M标记   使用此修改器只能从其中的对象内访问   它是定义的。

但是仍有多个线程可以同时对该对象进行更改,即因为它们仍然可以访问它。与ThreadLocal一样,您将对象绑定到线程而不是对象。因此,与前者不同,每个线程都有自己的相应对象,无法访问其他线程的本地分配对象。

简单地说,私有[this] - 变量与第二个与线程的对象相关联。而且,从封装的角度来看,它们也是非常不同的。