不提供类主体就无法创建单个特征的实例的任何想法:
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 ×1