コンストラクタはクラスをインスタンス化した時に実行される処理のことです。
その前に、インスタンンス化について。
インスタンス化
クラス、メソッドでさりげなく書きましたが、クラスは設計書です。そのままでは使えません。
以下のようにしてクラスを使える状態にしなくてはなりません。つまり、設計書の状態から実体化しなくてはなりません。
クラス名 オブジェクト名 = new クラス名();
言葉に直すなら、「クラス名のオブジェクトを新しく実体化してオブジェクトに格納する」。
こうすることによって、クラス内で定義したメンバ変数やメソッドなどを他のクラスから呼ぶ出すことができます。
コンストラクタの作り方
コンストラクタは必須ではありませんが、クラスのメンバ変数などの初期化を行いたい時などに使われます。
クラス名() {
コンストラクタ内の処理
}
コンストラクタ内の処理
}
また、コンストラクタは以下のように引数を設定することもできます。
その場合、引数なしのコンストラクタは呼ばれません。
public class ProgramMemoExample { ProgramMemoExample() { System.out.println("コンストラクタ引数なし"); } ProgramMemoExample(int x) { System.out.println("コンストラクタ引数あり"+x); } }
public class Sample { public static void main(String[] args) { ProgramMemoExample memo = new ProgramMemoExample(10); } }
実行結果
コンストラクタ引数あり10