Basic

Java コンストラクタの使い方と概要

コンストラクタとは
生まれたてのインスタンスの状態を表します。

インスタンス化と同時に、生成されるオブジェクトに対して
行っておきたい処理を記述します。

この処理はインスタンス化された直後に実行される処理になります。

コンストラクタと見なされる条件

  • メソッド名がクラスメイト完全に同じである
  • メソッド宣言に戻り値の記述がない(voidも✕)

コンストラクタを使用した場合と使用しない場合で解説します。

SPONSORED LINK

コンストラクタを使用しない場合

コンストラクタを使用した場合①

newされると自動的に実行されてdoorNumに4が代入されています。
その為、mainメソッドで初期値を代入する必要がなくなります。

改行

コンストラクタに情報を渡す方法

固定値で初期化をしたい場合(ここでは車のドアの数)は、単純なコンストラクタで可能でしたが、車種名は
生成するインスタンスによって異なります。
このような場合は、コンストラクタが引数で受けてれるように宣言します。

コンストラクタを使用した場合②

コンスタラクタに渡すべき引数をnewする際に指定することで、
newした時点で与えらた引数がコンストラクタが自動実行される際にパラメータとして渡されます。

SPONSORED LINK

改行

2つ以上の同名コンストラクタの定義する方法

「引数を受け取るコンストラクタ」と
「引数を受けとrならいコンストラクタ」を同時に定義することで
複数のコンストラクタを使い分けることが可能です。

コンストラクタを使用した場合③

コンストラクタをオーバーロードすることで複数のコンストラクタを定義できます。
複数コンストラクタが定義されていた場合は、
newするときに渡した引数の型・数・順番 対応するコンストラクタが動作します。
その際、複数のコンストラクタが定義されていても、1つだけしか動作しません。

オーバーロードについての使い方や解説方法はこちら

すべてのクラスはインスタンス化する際必ず何らかのコンストラクタを実行する決まりになっています。
それなので本来は「引数のない、何も処理をしないコンストラクタ」を定義しなければなりません。 しかし、コンストラクタの特例があり
クラスに1つもコンストラクタが定義されていない場合に限って
「引数なし、処理内容なし」のコンストラクタの定義がコンパイル時に自動的についかされています。

その為、通常のインスタンス生成が可能になります。

SPONSORED LINK

改行

別コンストラクタを呼び出す

重複する内容がある場合は、
初期値を変更する際に
「すべての重複する部分を変更する」必要がでてきます。

また本格的なプログラムになると
重複部分が多くなることが一般的ですので、
そうなると修正が大変になってしまい、
ミスにもつながります。

Javaではコンストラクタを直接呼び出すことができないので、
「専用の文法を用いてカンストラクタの先頭で別のコンストラクタを呼び出す場合」
に限って特別に許されています。

別のコンストラクタの呼び出しルール

  • this.クラス名(引数); ✕
  • this(引数); ○

別コンストラクの呼び出しの場合

「this.メンバ名」のthisは自身のインスタンスを表す。
「this(引数)」のthis()は同一クラスの別のコンストラクタを呼び出す。

SPONSORED LINK

ピックアップ記事

  1. Java クラスのインスタンス化・初期化とは?
  2. Java 9が正式リリース
  3. Java入門 JavaプラットフォームやJava言語の仕組み

関連記事

  1. Basic

    Java 未経験者の転職で有利に!プログラミングスクールがオススメな理由は?比較表で解説!

    経済産業省が発表しているように現在でもIT人材が17万人も不足して…

  2. Java

    Java オブジェクト指向の解説・ポリモフィズム(abstract)

    ポリモフィズムは多様性を意味します。傾斜によるメソッドのオーバーラ…

  3. Basic

    Eclipse Javaプロジェクトの作成と初期設定を解説!!ビルド(build)とは?

    Eclipseで初期設定が終わったらProjectを作成していきます。…

  4. Basic

    Java 文字列を分割後(split)にリスト化(List)する方法も解説

    こちらの記事で文字列を分割後(split)にリスト化(List)する方…

  5. Bronze

    Java オブジェクト指向の解説・カプセル化

    カプセル化とは、情報へのアクセスや動作の処理を隠蔽することでアクセ…

  6. Basic

    Java プロパティファイル(property)の作成と読み込み、編集方法、配置先の解説

    こちらの記事でプロパティファイル(property)の使い方を応用して…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Recommended Article

Pickup

  1. Basic

    Java コンストラクタの使い方と概要
  2. Basic

    Java 命名規則やルールを解説!フェーズの参考情報(パッケージ,クラス,メソッ…
  3. JavaScript

    JavaScriptの仕組み
  4. Servlet・JSP

    サーブレットの基礎
  5. Servlet・JSP

    Java formの基礎
PAGE TOP

Copyrighted Image