내부 클래스 메서드 및 생성자의 개인 주석에 어려움이 있습니다.내부 클래스의 프라이버시 및 외부 형식의 부속 유형에서 액세스 가능성
trait A {
class Lala protected()
}
trait B extends A {
new Lala
}
을 어느 쪽이 수행합니다 :
trait A {
protected def lala =()
}
trait B extends A {
lala
}
다음은하지하지 않습니다 :
object Screwed {
trait A {
class Lala private[Screwed]()
}
trait B extends A {
new Lala
}
}
:
이
trait A {
class Lala private[A]()
}
trait B extends A {
new Lala
}
유일한 방법은 주위에 같은 뭔가를이 예상대로 작동하지만
스칼라가 실제로 여기에서 실패합니까? o 명확한 메커니즘을 제공합니까? 아니면 제가 누락 된 것이 있습니까? 내 생각 엔 private[this.type]
이되어야하지만 scalac은 그걸 전혀 삼키고 싶지 않았을 것입니다 ...
실제로 '보호 된 클래스'는 나를 위해 작동하는 해결책입니다. –