2
下面的代码抛出IllegalArgumentException
:斯卡拉特点:VAL/DEF和要求
trait T{
val x: Long
require(x > 0)
}
object T extends App{
val y = new T{ val x = 42L }
}
而下面没有:
trait T{
def x(): Long
require(x() > 0)
}
object T extends App{
val y = new T{ def x() = 42L }
}
这是为什么?何时拨打require()
?为什么val
甚至在那个时候定义?