再評価のための復習: コンストラクタ

コンストラクタとは

インスタンス化の時(new演算子を使う時)に実行されるメソッド。

コンストラクタの定義

  • コンストラクタはメソッドの一種なのでメソッドの定義の仕方とあまり変わらない。下記の点がコンストラクタに特有であることに注意する。
    • メソッド名は自由につけられない。コンストラクタはクラス名と同じにする。
    • 戻り値(返り値)の型は記述しない。

コンストラクタが定義されているクラスの例

インスタンス化

ポイント

  • コンストラクタの名前はクラス名と同じでなければならないため、複数のコンストラクタを定義するには(メソッド名で区別できないので)、引数の形(個数、型の並び順)が違っていなければならない。つまりコンストラクタのオーバーロード。(教科書P.72等)
  • コンストラクタを定義しないクラスには、デフォルトコンストラクタが自動的に生成される(定義したことになる)。デフォルトコンストラクタは、引数なしで何の処理もしない。
  • ハマりやすいポイント: 引数ありのコンストラクタを定義しただけだと、引数なしでインスタンス化することができない(1つもコンストラクタを定義しない場合にしかデフォルトコンストラクタが生成されないから)。

教科書

  • P.74〜77: コンストラクタ
  • P.72: オーバーロード