为什么我不能实例化特征?编译器抱怨特征是抽象的,但我没有特征中的任何抽象方法或字段.
scala> trait A
scala> new A
<console>:9: error: trait A is abstract; cannot be instantiated
new A
^
Run Code Online (Sandbox Code Playgroud)
Ale*_*nov 10
它失败了,因为traits总是按照定义抽象,比如Java接口.
当你写new A {}它时意味着"创建一个匿名类扩展A并创建它的实例".当然,这个匿名类不是抽象的,所以这是有效的.