为什么没有参数列表的案例类不推荐使用Scala?为什么编译器建议使用()参数列表呢?
编辑:
有人请回答我的第二个问题......:|
我想知道将abstract关键字与a结合使用的语义是什么trait.
如果特征没有定义任何抽象方法,则abstract关键字不会阻止我创建实例:
scala> abstract trait T
defined trait T
scala> new T{}
res0: java.lang.Object with T = $anon$1@12cd927d
Run Code Online (Sandbox Code Playgroud)
另一方面,如果特征确实定义了一个抽象方法,那么无论abstract关键字是否存在,我都无法创建实例(当然不实现此方法):
scala> abstract trait T { def foo : Unit }
defined trait T
scala> new T{}
<console>:9: error: object creation impossible, since method foo in trait T of type => Unit is not defined
new T{}
^
scala> trait T { def foo : Unit }
defined trait T
scala> new T{}
<console>:9: …Run Code Online (Sandbox Code Playgroud)