其他情況下的保護成員我只是遇到了一個困難,而學習Scala。我有一個繼承層次是基本相同的:在斯卡拉
class A {
protected def myMethod() = println("myMethod() from A")
}
class B extends A {
def invokeMyMethod(a: A) = a.myMethod()
}
但是,試圖編譯這個示例中,我得到的錯誤「test.scala:7:錯誤:方法myMethod的不能在訪問」。我的理解是受保護的成員應該可以從派生類的任何位置訪問,並且我沒有看到任何可以告訴我Scala中的受保護成員受實例限制的任何東西。有沒有人對此有過解釋?
這個解釋實際上並沒有說明爲什麼OP的代碼不起作用。 `B` _is_是派生類型`A`,就像它應該是的一樣。 – 2011-01-07 10:00:47