假设我有两个类:
ensureIndex()
问题是这些类声明中私有修饰符位置的区别是什么?
答案 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。