从链接 http://www.scala-lang.org/old/node/117
它给出了一个特征,即特征扩展了一个抽象类。 由于抽象类有构造函数,它怎么可能发生呢?这是否意味着抽象类和特征具有相同的位置?
答案 0 :(得分:1)
它们用于在类之间共享接口,字段和类型,并且它们都不是可实例化的。抽象类扩展了特征,反之亦然。 但是因为scala中的一个类只能扩展一个超类,
abstract class A
abstract class B
trait AA extends A
class C extends AA // ok class C's super class is A
class C extends B with AA // NG trying to have 2 super class
就像我在开头提到的那样,它们是不可实例化的。
所以你不需要关心抽象类的构造函数。
当创建并实例化扩展它的类时,将调用它。