クラスの継承
多重継承の禁止
複数のクラスを同時に継承することはできません。
多重継承の禁止
これは Java自体の設計思想の問題です。
クラスの多重継承ができるプログラム言語もありますが、
継承元に同名のメンバが競合するリスクがあります。
競合を回避するための複雑なルールを作るより、
いっそ「クラスの多重継承を禁止してしまおう!」というのが、Javaの思想です。
禁止しただけだと不便になっただけなので、
インスタンス変数を持たず、なおかつインスタンスメソッドの実装をサブクラスで行う
「インターフェース」(後述)が用意されています。
こんな感じで多重継承できそうだが、
Javaではダメだ。
いわゆる禁忌というやつだ。
NG例 複数のクラスは継承できません。
class Chimera extends Dog_01, NinaTucker {
public Chimera(String name){
super(name);
}
@Override
public void print(){
System.out.println("お にい ちゃ...");
}
}
たっ、多重継承はやめましょう。
倫理的に問題がありそうですからね。
君のような勘のいいガキは嫌いだよ。