为什么这个编译不会? Scala 2.8.0RC3:
Java
public interface X {
void logClick(long ts, int cId, String s, double c);
}
Scala的
class Y extends X {
def logClick(ts: Long, cId: Int,sid: java.lang.String,c: Double) : Unit = {
...
}
}
错误
class Y needs to be abstract, since method logClick in trait X of type
(ts: Long,cId: Int,s: java.lang.String,c: Double)Unit is not defined
答案 0 :(得分:2)
您需要在 override
中logClick
的定义之前添加class Y
。
class Y extends X {
override def logClick(ts: Long, cId: Int,sid: java.lang.String,c: Double) : Unit = {
...
}
}
击> <击> 撞击>
修改强>
由于Daniel在下面说的原因,你甚至不需要在方法之前添加override
。你的代码是正确的。