【发布时间】:2017-06-01 13:47:10
【问题描述】:
这行得通
trait SomeTrait {
type T
def write2( s: String): T
}
case class C() extends SomeTrait {
type T = String
override def write2(s:String): T = s }
但这不是
trait SomeTrait {
def write2[T]( s: String): T
}
case class C() extends SomeTrait {
override def write2(s: String): String =s }
根据我的推理,它们..看起来很相似。为什么编译器特别给出“方法不会覆盖任何东西”错误?有没有办法使这项工作?
【问题讨论】:
-
请以不同的名称命名你的类型参数和你的基本特征,这样会更容易混淆。
-
..已更新,谢谢
标签: scala