Java silver 1ヶ月取得する為の勉強 7日目
Java silver 1ヶ月取得する為の勉強 7日目
・2.0時間勉強
・徹底攻略Java SE 8 Silver問題集 第7章 継承の操作
勉強内容
・拡張の元になるクラスのことを基底クラスやスーパークラス、
・拡張したクラスのことを派生クラスやサブクラスという
継承は、生産性を向上させる強力なプログラミング
「差分プログラミングとも呼ぶ」
継承で引き継げない部分
・コンストラクタ
・privateなフィールドやメソッド
インターフェースのルール
Finalを使って、動的に値が変更されないこと(定数)
Staticを使って、インスタンスを生成しなくても使えること
抽象クラスはインスタンス化はできない。
抽象メソッドは、具象クラスが実装しなけらばならない
オーバーロード(多重定義)は、メソッドが同じで引数が異なる「新しいメソッド」を定義すること。
オーバーライドは、サブクラスでスーパークラスに定義されたメソッドを再定義すること
オーバーライドの3つのルール
・シグネチャが同じであること
・戻り値方は同じか、サブクラスであること
・アクセス修飾子は同じか、より緩いものを指定すること
フィールドを参照した場合は、変数で宣言された方を使う
メソッドを呼び出した場合は、メソッド内の指示に従う
ポリモーフィズムは、実際に動作しているインスタンスを、インスタンスの元になった型とは、異なる型で扱える仕組み。
ポリモーフィズムが成り立つのは、現実か継承関係しか成り立ちません。
インスタンスも型変換ができる
キャスト式を記述して明示的に型変換すると、コンパイルは成功する。
ただし、型同士の相互性がない場合は、実行時に例外がスローされる
Thisはインスタンス自身への参照を持っている
継承関係にあるクラスのインスタンスの生成をするときの動作
・スーパークラスのインスタンスが持つコンストラクタが先に実行されなけらばならない
・サブクラスのコンストラクタには、スーパークラスのコンストラクタを呼び出す「super();」が、コンパイラによって先頭行に追加される。
合計勉強時間:10.5時間