Javaの入門書を読み直して、「あー、そうだったね。」という点を書いてみます。
- メソッドのシグネチャは下記3つ
- 戻り値の型
- メソッド名
- 引数の型
- 親クラスが持つ、引数の数が違うコンストラクタは、子クラスでは呼び出せない
※ メソッドとは違って、引き継がれない(透けて見えることがない) ※ superで呼び出すことはできます。
※ (追記)まぁ、コンストラクタ名が違うので当たり前ですよね。。。 - 親クラスで引数を持つコンストラクタが定義された場合、子クラスで呼び出さないとコンパイルエラーとなる
※ 正確にいうと、親クラスに対応するコンストラクタがないと、子クラスのインスタンス生成時にコンパイルエラーになるよって話
継承は、メソッドだけでなく、コンストラクタにも縛りがあり、親子間の共通化が徹底されている(保証されている)ことを再認識しました。
0 件のコメント:
コメントを投稿