В 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
, чтобы к нему можно было получить доступ из подклассов его компаньона, но не из других классов, включая другие классы в том же пакете?