に私は次のコードを書く:私は戻り値の型がList[Bird]
ことが期待どのように解釈する:: Scalaの
def ::[B >: A] (x: B): List[B] =
new scala.collection.immutable.::(x, this)
:::
メソッドの実装は次のようになります
class Animal
class Bird extends Animal
val animalList = List(new Animal, new Animal)
new Bird :: animalList
を。なぜそれがList[Animal]
ですか?
'B>:A' - > BはAのスーパークラスです。' Animal'と 'Bird'の最も厳密なスーパークラスは' Animal'です。 BirdはAnimalであると推定され、AはAnimalでBはAのSuperclassであるため、この場合はB = A = Animal –
という素晴らしい投稿です。 3q – cstur4