Java - コンストラクタ

コンストラクタ

コンストラクタとは、クラスからオブジェクトを生成したタイミングで実行されるメソッドです。コンストラクタの用途は、主にメンバ変数の初期化などを行います。

class Calculator{
  private int num;
  
  Calculator(){
    num = 0;
  }
}
コンストラクタ

引数があるコンストラクタを使用する場合、以下のように記述します。

class CalculatorTest{
  public static void main(String args[]){
    Calculator calc = new Calculator(10);
  }
}

class Calculator{
  private int num;
  
  Calculator(int n){
    num = n;
  }
}
コンストラクタ

メソッドの場合と同様に、引数の数や型が異なる場合は、クラスの中に複数のコンストラクタを記述できます。

class Calculator{
  private int num;
  
  Calculator(){
    num = 0;
  }
  
  Calculator(int n){
    num = n;
  }
}
コンストラクタ

また、コンストラクタから、コンストラクタを呼び出すことも可能です。コンストラクタからコンストラクタを呼び出す場合、this を使用します。this は、コンストラクタの中で使用されているので、コンストラクタ自身を指します。下記のサンプルコードでは、引数があるコンストラクタを this で呼び出す例です。

class Calculator{
  private int num;
  
  Calculator(){
    this(10);
  }
  
  Calculator(int n){
    num = n;
  }
}
コンストラクタ

コンストラクタを定義していない場合、デフォルトコンストラクタと呼ばれるコンストラクタが作成されます。ただし、明示的にコンストラクタを定義した場合、デフォルトコンストラクタは作成されません。

コンストラクタは、実行される前にまず自分自身の親クラスのコンストラクタを呼び出します。詳細はクラスの継承で解説しますが、コンストラクタは最初に親クラスのコンストラクタを呼び出す点に注意してください。

関連記事