小编hum*_*der的帖子

单个特征与混合的实例化

不提供类主体就无法创建单个特征的实例的任何想法:

trait MyTrait
val test1 = new MyTrait // Does not compile.
val test2 = new MyTrait {} // Compiles.
Run Code Online (Sandbox Code Playgroud)

但是,如果我将另一个添加到混合中,则可以创建一个实例:

trait MyTrait
trait SecondTrait
val anotherTest = new SecondTrait with MyTrait  // Compiles successfully.
Run Code Online (Sandbox Code Playgroud)

我本来期望相同的行为。

旁注:我已经读过这个问题。但是特质主体的存在并不能解决我的问题,因为第二个示例仍然没有主体。因此,为什么编译器将第二个示例视为匿名类?

scala

7
推荐指数
1
解决办法
91
查看次数

标签 统计

scala ×1