【发布时间】:2015-05-18 21:33:31
【问题描述】:
我定义了一个非常常见的类型别名:
package object policy {
type KeyGen[K] = Function0[K] with Serializable
}
但是当我尝试继承它时:
import java.security.Key
case class FixedKeyGen(key: Key) extends KeyGen[Key] {
override def apply(): Key = key
}
maven 编译器给了我以下错误:
[ERROR] /home/peng/git/datapassport/core/src/main/scala/com/schedule1/datapassport/policy/ValueMapping.scala:16: class type required but () => java.security.Key with Serializable found
[ERROR] case class FixedKeyGen(key: Key) extends KeyGen[Key] {
[ERROR] ^
[ERROR] /home/peng/git/datapassport/core/src/main/scala/com/schedule1/datapassport/policy/ValueMapping.scala:16: com.schedule1.datapassport.policy.KeyGen[java.security.Key] does not have a constructor
[ERROR] case class FixedKeyGen(key: Key) extends KeyGen[Key] {
这是怎么回事?
【问题讨论】:
标签: scala inheritance mixins