在Scala中使用new和traits

时间:2015-02-25 11:51:33

标签: scala traits

我在Scala示例中发现了以下用法,但我找不到合适的引用(可能是因为Google被newwith混淆了,这是非常常见的词......) :

var someInstance = new Class with SomeTrait

在关于特征的基本文档中,我找不到任何东西......

1 个答案:

答案 0 :(得分:1)

嗯......它是一种创建Anonymous类实例的方法。

所以,

trait A

trait B

class C extends A

val cb = new C with B
// creates an instance of anonymous class 'C with B'

相同
trait A

trait B

class C extends A

class D extends C with B

val d = new D
// creates an instance of class 'D'

现在,cbd都具有相同的属性。