用scala类实现java接口 – 类型问题
发布时间:2020-12-16 18:47:57 所属栏目:安全 来源:网络整理
导读:为什么这个不编译? Scala 2.8.0RC3: Java的 public interface X { void logClick(long ts,int cId,String s,double c);} 斯卡拉 class Y extends X { def logClick(ts: Long,cId: Int,sid: java.lang.String,c: Double) : Unit = { ... }} 错误 class Y ne
为什么这个不编译?
Scala 2.8.0RC3:
Java的 public interface X { void logClick(long ts,int cId,String s,double c); } 斯卡拉 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,s: java.lang.String,c: Double)Unit is not defined 解决方法
您需要在类Y中定义logClick之前添加覆盖.
class Y extends X { override def logClick(ts: Long,c: Double) : Unit = { ... } } 编辑: 由于Daniel在下面说的原因,你甚至不需要在方法之前添加覆盖.你的代码是正确的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |