【发布时间】:2011-05-14 14:59:00
【问题描述】:
在 Scala 中,如果我创建了一个对象和伴随类,那么如果导入了该对象,则可以从该类中访问使用 protected 修饰符声明的标识符:
object Foo {
protected val X = 42
}
class Foo {
import Foo._
def getX(): Int = X
}
但是,protected 标识符不能从 Foo 类的子类访问:
class Bar extends Foo {
import Foo._
def getX(): Int = X * 2
}
我在Bar 中收到编译时错误。
然后(隐含)public,我可以在X 上放置任何访问修饰符,以便可以从其同伴的子类访问它,但不能从其他类访问,包括同一包中的其他类?
【问题讨论】: