为什么我不能实例化一个特征?编译器抱怨特征是抽象的,但我在特征中没有任何抽象的方法或字段。
scala> trait A
scala> new A
<console>:9: error: trait A is abstract; cannot be instantiated
new A
^发布于 2014-06-14 13:48:00
它失败了,因为根据定义,特征总是抽象的,就像Java接口一样。
当你编写new A {}时,它意味着“创建一个扩展A的匿名类,并创建它的一个实例”。这个匿名类当然不是抽象的,所以它是有效的。
https://stackoverflow.com/questions/24216638
复制相似问题