study-note

継承

目次

継承

class 子クラス extends 親クラス {}

補足

特徴

メンバの継承範囲

単一継承

superキーワード

用途

オーバーライド

@Override
戻り値型 メソッド名(引数) {}

ポリモーフィズム(多態性)

Animal a = new Dog();
a.speak();     // Dogのspeak()が呼ばれる

動的ディスパッチ

実行時に、実体の方に応じて呼ばれるメソッドが決まる仕組み

キャスト

アップキャスト

ダウンキャスト

Dog d = (Dog) a;  // 実体がDogでないとエラー

instanceof演算子

if (a instanceof Dog) {
  Dog d = (Dog) a;
}