相关疑难解决方法(0)

Scala中其他实例的受保护成员

我在学习Scala时遇到了困难.我有一个继承层次结构,基本上等同于:

class A {
    protected def myMethod() = println("myMethod() from A")
}

class B extends A {
    def invokeMyMethod(a: A) = a.myMethod()
}
Run Code Online (Sandbox Code Playgroud)

但是尝试编译这个示例,我得到错误"test.scala:7:error:方法myMethod无法在A中访问".

来自Java,我的理解是受保护的成员应该可以在派生类的任何位置访问,而且我在任何地方都看不到任何告诉我Scala中的受保护成员受实例限制的内容.有没有人对此有解释?

scala protected

9
推荐指数
1
解决办法
1418
查看次数

标签 统计

protected ×1

scala ×1