使用 类 在 scala 中同一个包的特征中定义。
Use classes defined in traits on the same package in scala.
我相信在 Scala 中,我可以在我的特征中使用其他特征中定义的 类。类似于以下内容:
trait A{
sealed abstract class C
}
trait B{
import A.C
val l: List[C]
}
但是,我发现 A 和 C 都无法识别。
我做错了什么?
这里不需要导入。 A
和 C
可在 B
中的类型位置访问,无需导入。
尝试
trait A {
sealed abstract class C
}
trait B {
val l: List[A#C]
}
或
trait A {
sealed abstract class C
}
trait B {
type C = A#C
val l: List[C]
}
否则你可能是指
trait A {
sealed abstract class C
}
val a = new A {}
trait B {
import a.C
val l: List[C]
}
或
object A {
sealed abstract class C
}
trait B {
import A.C
val l: List[C]
}
我相信在 Scala 中,我可以在我的特征中使用其他特征中定义的 类。类似于以下内容:
trait A{
sealed abstract class C
}
trait B{
import A.C
val l: List[C]
}
但是,我发现 A 和 C 都无法识别。
我做错了什么?
这里不需要导入。 A
和 C
可在 B
中的类型位置访问,无需导入。
尝试
trait A {
sealed abstract class C
}
trait B {
val l: List[A#C]
}
或
trait A {
sealed abstract class C
}
trait B {
type C = A#C
val l: List[C]
}
否则你可能是指
trait A {
sealed abstract class C
}
val a = new A {}
trait B {
import a.C
val l: List[C]
}
或
object A {
sealed abstract class C
}
trait B {
import A.C
val l: List[C]
}