【发布时间】:2013-09-28 02:15:50
【问题描述】:
scala> class A
defined class A
scala> trait T extends A { val t = 1 }
defined trait T
//why can I do this?
scala> class B extends T
defined class B
scala> new B
res0: B = B@2e9c76
scala> res0.t
res1: Int = 1
我认为当您编写 trait T extends A 时,它使您只能将 trait T 放在作为 A 子类的类上。那为什么我可以把它放在B上呢?这只适用于你混合的时候吗?为什么在声明类时这是不可能的?
【问题讨论】: