ウィキペディアは次のように定義しcovarianceています
より広い (動物) からより狭い (猫) に変換します。
しかし、 のような言語ではJava、戻り型の共分散は、サブタイプをスーパータイプに割り当てることとして定義されます。
public Animal getAnimal(){
return new Cat();
}
ここでは、サブタイプをスーパータイプに割り当てていますが、Wikipedia定義によれば、共分散はスーパータイプをサブタイプに割り当てています。どうすれば2つを調整できますか?