假设我具有以下特征和扩展该特征的类
trait T { protected def f() }
class C extends T { def f(): println("!") }
object Main extends App {
val c = new C
c.f() // should be a compile error
}
我在声明f
中protected
声明了 for ,T
以便可以从 的范围内调用它C
,但不能被其他人调用。也就是说,C.f()
应该是编译错误。我认为protected
修饰符 fromT
会延续,但事实并非如此。
我可以C.f()
像protected
在声明中那样重新声明C
,但我宁愿不必重复自己。在 Scala 中还有其他方法可以做到这一点吗?