例如,我有以下特征:
trait Some {
def method // i can omit the return type
val field: Some // i can't
}
如果省略抽象字段的类型,它会引发编译错误,但不是在方法的情况下?
答案 0 :(得分:2)
简单明了。如果省略抽象方法的返回类型,
然后Scala编译器将其推断为Unit
(在typer阶段之后):
abstract trait Some extends scala.AnyRef {
def method: Unit;
<stable> <accessor> def field: String
}