在Scala中,如果我创建了一个对象和伴生类,声明为protected
的标识符可以在导入该对象时从类中访问:
object Foo {
protected val X = 42
}
class Foo {
import Foo._
def getX(): Int = X
}
然而,类Foo的子类无法访问
protected
标识符:class Bar extends Foo {
import Foo._
def getX(): Int = X * 2
}
我在Bar
中遇到了编译时错误。
除了(默认的)public
,是否还有任何访问修饰符可以放置在X
上,以便它可以从其伴随类的子类中访问,但不能从其他类中访问,包括同一包中的其他类?