スッキリ分かるJava入門 8日目
今日やったこと
継承!
覚えておきたいこと
継承を図で表現すると「子→親」親を子で包むのだ。矢印が進む方向へ抽象的になるイメージ!
宣言時にfinalがついてるクラスやメソッドは継承およびオーバーライドできないよ、変なの作られても僕…困るから…
親クラスのメソッド使うときはsuper.XXX()!
子をメインで呼び出すにしても、親のコンストも必ず呼び出されるよ。なのでいろんな子が共通で処理したければ親のコンストに共通処理書いて、super();とかで呼ぶべきだし、書いてないとエラーになるんじゃない?
コンストは複数作れるので、そゆのを継承した場合は正しい引数でsuperを呼ぼう。コンストラクタ作るときはうっかりvoid書かないでね!
継承で大事なのは、「子クラスは親クラスの一種」の文に置き換えて、違和感がないこと!
おおもとになる親クラスは抽象的であるべき、子は具体的でもいいのよ。
感想
練習問題解くときに、「name = this.name」をやって引数入らない!なんでnullなるの!?をやってしまった!thisが自分ですから、「this.name = name」で入れてあげないとだめですわよ!