Scala类声明中私有修饰符位置有什么区别?

时间:2016-07-09 08:03:25

标签: scala

假设我有两个类:

ensureIndex()

问题是这些类声明中私有修饰符位置的区别是什么?

1 个答案:

答案 0 :(得分:6)

第一个引用了课程的范围,即您无法访问PoorInt外部包example

第二个引用RichInt的构造函数的范围,您没有明确提供它,即您不能在包example之外使用它的构造函数。

例如:

// somewhere outside package example ...
val x = new RichInt // doesn't compile. Constructor is private
val y : PoorInt = ... // doesn't compile. PoorInt is not accessible from here
def f(x: PoorInt) = ... // doesn't compile. PoorInt is not accessible from here

您还可以看到this question