的亞型。雖然這種按預期工作:隱私內部類和可訪問性,從我在使用的內部類,方法和構造私人註釋困難外型
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根本不想吞下去......
事實上'受保護的類'是適合我的解決方案 –