在典型的 Scala 上限示例中
abstract class Animal {
def name: String
}
abstract class Pet extends Animal {}
class Cat extends Pet {
override def name: String = "Cat"
}
class Dog extends Pet {
override def name: String = "Dog"
}
class Lion extends Animal {
override def name: String = "Lion"
}
Run Code Online (Sandbox Code Playgroud)
这有什么区别
class PetContainer[P <: Pet](p: P) {
def pet: P = p
}
val dogContainer = new PetContainer[Dog](new Dog)
val catContainer = new PetContainer[Cat](new Cat)
Run Code Online (Sandbox Code Playgroud)
和这个?
class …Run Code Online (Sandbox Code Playgroud)