Aの型の変数a が、Bのオブジェクトb-obj だったり、
Cのオブジェクトc-obj だったりすることだよ
a = b-obj; a = c-obj;
この世界でいうと、魚の型の変数に
いか が入ったり、まぐろ が入ったりすることよ
魚 sakana1 = new いか();
魚 sakana2 = new まぐろ();
こうできるのは
いか、まぐろ のクラスが魚クラスを継承しているときよ
class いか extends 魚{...}
class まぐろ extends 魚{...}
魚の泳ぐメソッドの場合、こんなふうになるよ
class 魚{
String 泳ぐ(){ return " 尾びれを振る"; }
}
class いか extends 魚{
void 泳ぐ(){ return "水を吹いて"; }
}
いか の泳ぐメソッドをじっこうすると、
「水を吹いて」が表示され
まぐろ の泳ぐメソッドでは、
「尾びれを振る」が表示されるよ
ところで動物学でこれが正しいかは検証してないよ