[Java] コンストラクタとは

コンストラクタについて整理。


コンストラクタとは

クラスのインスタンス生成時に (あるクラスがnewされた時に) 実行されるメソッドのこと、メソッドの一種。

例えばインスタンスを生成したい時は下記のように書く

ExampleClass instance1 = new ExampleClass();


このnewを使って、ExampleClass()で呼び出している部分がコンストラクタ。

コンストラクタの形としては下記のようになる。

public class Example {
  //コンストラクタ
  public Example(){
      
  }
}

単純に出力まで書いてみると、下記のようになる。



public class Example {
  //コンストラクタ
  public Example(){
    System.out.println("コンストラクタです。インスタンス生成時に必ず実行されます。");
  } 
}

class Main {
  public static void main(String[] args ){
    //コンストラクタを使ってインスタンスを作成
    //インスタンス生成時にコンストラクタが必ず実行される
    Example instance1 = new Example();
  }
}


コンストラクタは他のメソッドと何が違うの?

普通のメソッドと違い、下記のような特徴がある。

  • インスタンス生成時に必ず実行される
  • メソッド名と違い、クラス名とコンストラクタ名は同じ名前でないといけない
  • メソッドと違い、コンストラクタは戻り値を返せない (returnを書けない)


自分で定義しなくてもコンストラクタは自動で用意される

ではコンストラクタを定義してない時はどうかというと、Javaの方で自動的にコンストラクタが用意される。

これはデフォルトコンストラクタと言われる。

下記のようになる。

//自分でコンストラクタを定義した場合。
public class Example {
    public Example() {
    }
    ...
}

//自分で定義しない場合。意味としては上と一緒。
public class Example {
    ...
}


全体像を把握する

下記にJavaやwebアプリケーションについての記事をまとめた。


[st-card myclass=”” id=3431 label=”” pc_height=”” name=”” bgcolor=”” color=”” fontawesome=”” readmore=”on”]


コンピューターについての全体像も把握しておくと、プログラミングのさらなる理解に役立つ。


[st-card myclass=”” id=4587 label=”” pc_height=”” name=”” bgcolor=”” color=”” fontawesome=”” readmore=”on”]