Scala中的多性状结构错误
有人能帮我理解这里的错误吗?我想我理解Scala中带有特征的匿名类构造。然而,当我尝试应用一个以上的特性时,我会得到一个错误,期望“;”或语句的基本结尾。如果我以这种方式声明一个类(具有需要匿名实现代码行的多个特性),同样的问题似乎也会出现。下面的行测试3失败了。谢谢Scala中的多性状结构错误,scala,anonymous-class,Scala,Anonymous Class,有人能帮我理解这里的错误吗?我想我理解Scala中带有特征的匿名类构造。然而,当我尝试应用一个以上的特性时,我会得到一个错误,期望“;”或语句的基本结尾。如果我以这种方式声明一个类(具有需要匿名实现代码行的多个特性),同样的问题似乎也会出现。下面的行测试3失败了。谢谢 class TestTraits trait A {def x:Int} trait B {def y:Int} object TestTraits { def main(args: Array[String]):
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'
}
}
您的语法无效:
val test3 = new TestTraits with A with B {def x=22; def y=33}
一个类定义只能有一个主体,而您所声明的是一个匿名类。非常感谢我将此语法与构造函数参数混淆(每个参数在名称旁边都有自己的参数)!