的亚型。虽然这种按预期工作:隐私内部类和可访问性,从我在使用的内部类,方法和构造私人注释困难外型
trait A {
protected def lala =()
}
trait B extends A {
lala
}
下列不:
trait A {
class Lala protected()
}
trait B extends A {
new Lala
}
无论是做这个的:
trait A {
class Lala private[A]()
}
trait B extends A {
new Lala
}
唯一的办法解决是这样的:
object Screwed {
trait A {
class Lala private[Screwed]()
}
trait B extends A {
new Lala
}
}
是否真的斯卡拉这里失败Ť o提供一个清晰的机制,还是我错过了什么?我的猜测应该是private[this.type]
,但scalac根本不想吞下去......
事实上'受保护的类'是适合我的解决方案 –