考虑我们有:
abstract class FlyingObject;
case class Rocket(name: String) extends FlyingObject;
这两个函数声明有什么区别:
def launch[T <: FlyingObject](fo: T)
和
def launch(fo: FlyingObject)
很好的例子是什么时候使用哪种类型的声明......
[更新]
另一个很好的例子和解释可以在这里找到。这是您应该使用上限而不是仅使用派生类作为参数的另一个示例。