1

次のコードを書きます。

class Animal
class Bird extends Animal
val animalList = List(new Animal, new Animal)
new Bird :: animalList

メソッドの実装は次の::ようになります。

def ::[B >: A] (x: B): List[B] =
  new scala.collection.immutable.::(x, this)

戻り値の型は であると予想していましたList[Bird]。なぜList[Animal]ですか?

4

1 に答える 1