【发布时间】:2011-06-05 01:04:18
【问题描述】:
我在学习 Scala 时遇到了困难。我有一个基本上等同于这个的继承层次结构:
class A {
protected def myMethod() = println("myMethod() from A")
}
class B extends A {
def invokeMyMethod(a: A) = a.myMethod()
}
但尝试编译此示例时,我收到错误“test.scala:7: error: method myMethod cannot be access in A”。
来自 Java,我的理解是受保护的成员应该可以在任何时候从派生类访问,而且我在任何地方都没有看到任何东西告诉我 Scala 中的受保护成员受实例限制。有人对此有解释吗?
【问题讨论】: