archive

[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”]