2

有人可以帮我理解这里的错误吗?我想我理解 Scala 中具有特征的匿名类构造。但是,当我尝试应用多个特征时,我收到一个错误,期望“;” 或语句的基本结束。如果我也以这种方式声明一个类,同样的问题似乎也适用(具有多个需要匿名实现代码行的特征?线测试 3 在下面失败。谢谢。

class TestTraits 

trait A {def x:Int}
trait B {def y:Int}



object TestTraits {

  def main(args: Array[String]): Unit = {

     val test1 = new TestTraits with A {def x=22}  //OK

     val test2 = new TestTraits with B {def y=33} //OK

     val test3 = new TestTraits with A {def x=22} with B {def y=33} //Errors: - ';' expected but 'with' 


  }  
}
4

1 回答 1

5

您的语法无效:

val test3 = new TestTraits with A with B {def x=22; def y=33} 

一个类定义只能有一个主体,而您要声明的是一个匿名类。

于 2012-07-10T23:25:09.490 回答