Scala 是否使用此关键字来继承?

Scala 是否使用此关键字来继承?,scala,this,Scala,This,可能重复: 从。有一件事我真的不明白 trait FunSuiteStackBehaviors { this: FunSuite => //This line def a() {} def b() {} } class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {} 据我

可能重复:

从。有一件事我真的不明白

trait FunSuiteStackBehaviors { 
                   this: FunSuite => //This line
                         def a() {}
                         def b() {}
}

class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}
据我所知,他们似乎试图将一些DEF分配到某个特征中。但是
this:FunSuite=>
part做什么呢?我试着用extends FunSuite来代替

trait FunSuiteStackBehaviors extends FunSuite { 
                         def a() {}
                         def b() {}
}

class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}

我还是得到了同样的结果。它们是一样的吗?

这个:FunSuite=>
称为自类型注释。
“this”
没有什么特别之处,这两个代码段是等效的。关于其基本原理的一些讨论。简言之,自我类型注释有助于表示组成的性质,而不是自我类型注释。this:=>XXXX称为自我类型注释
基本上,您将“this”(当前对象)的类型指定为指定的类型。有点像“从内部铸造”

这是一种自我类型。嗯,当我尝试搜索时,这些问题不会出现。谢谢你指出这一点。