【发布时间】:2014-10-15 20:52:58
【问题描述】:
谁能解释一下为什么下面的示例代码不能编译
class Animal(val mass : Int)
class Person(val personMass :Int,val name:String) extends Animal(personMass)
class SocialGroup[T <: Animal]
class AlturisticSocialGroup[T <: Animal ] extends SocialGroup[T]
class Society[A <: SocialGroup[B]]
这里的想法是我想要一个由 SocialGroup 的子类参数化的社会。我希望能够做到
val animalSociety : Society[SocialGroup[Animal]] = ......
和
val niceSociety = Society[AltruisticSocialGroup[Person]] = ....
编译器给我的
错误:未找到:类型 B
我确定我遗漏了一些明显的东西,但我们将不胜感激任何帮助
【问题讨论】:
标签: scala generics inheritance