其他情况下的保护成员我只是遇到了一个困难,而学习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