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 类型声明给另一个类是否有意义?