scala类定义中这个额外的private [class]()是什么意思?

时间:2015-07-04 01:09:39

标签: scala

我正在读Scala上的某些代码,以便更好地学习语言,但我对以下意思是“privateutil”感到困惑如果我刚看到[util]我会怀疑它是某种特定的通用?但是它有自己的私有修饰符吗?

class RPGPluginProperties private[util]() extends Properties {

1 个答案:

答案 0 :(得分:5)

来自http://www.scala-lang.org/files/archive/spec/2.11/05-classes-and-objects.html#private

  

私人修饰符可以用标识符C限定(例如   private [C])必须表示封闭的类或包   定义。标有此类修饰符的成员可以访问   分别仅来自包C内的代码或仅来自代码   在C类及其配套模块中。

所以在这种情况下,private修饰符会将无参数构造函数设置为util类/包的私有。

要将该类声明为scope util的私有,它将是private [util]类RPGPluginProperties ...