В 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
.
Other then (подразумевается) public
], есть ли какой-либо модификатор доступа, который я могу разместить на X
, чтобы к нему можно было получить доступ из подклассов его компаньона, но не из других классов, включая другие классы в том же пакете?