我的类继承自某个基类,并实现与基类apply
具有完全相同签名的方法。我想apply
从我的班级中调用 base 的方法。当我尝试以下操作时:
class MyClass extends BaseClass {
def apply(k: String, v: String) = {
super.apply(k, v)
...
}
...
}
我得到value apply is not a member of BaseClass...
编译错误。我应该如何从子类中调用 base 的 apply 方法?
另外,为什么可以在没有关键字的情况下覆盖apply
方法?override
编辑:实际代码:
class OAuthParamsBuilder(helper: OAuthParamsHelper)
extends KeyValueHandler {
def apply(k: String, v: String): Unit = {
...
}
}
class OAuthInitSupportBuilder
extends OAuthParamsBuilder(StandardOAuthParamsHelper) {
/*override*/ def apply(k: String, v: String): Unit = {
super.apply(k, v)
...
}
...
}
编辑:我注意到 KeyValueHandler 是一个特征,这可能是一个问题。
trait KeyValueHandler extends ((String, String) => Unit)