scala> class A
defined class A
scala> class B {this: A => }
defined class B
scala> new B
<console>:10: error: class B cannot be instantiated because it does not conform
to its self-type B with A
new B
^
ClassB
将 self 类型设置为 class A
,因此 class B
(或其子类)必须扩展 classA
以创建B
. 但这有可能吗,因为一个子类B
只能扩展一个类(这是 class B
)?
所以这让我想到一个问题,在任何情况下将一个类的 self 类型声明给另一个类是否有意义?