Class・Object

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

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

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

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

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

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

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

SPONSORED LINK

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

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

newされると自動的に実行されて
doorNumに4が代入されています。

その為、mainメソッドで
初期値を代入する必要がなくなります。

SPONSORED LINK

改行

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

固定値で初期化をしたい場合
(ここでは車のドアの数)は、
単純なコンストラクタで可能でした。

しかし車種名の場合は
生成するインスタンスによって異なります。

このような場合は、コンストラクタが
引数で受けてれるように宣言します。

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

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

SPONSORED LINK

改行

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

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

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

コンストラクタをオーバーロードすることで
複数のコンストラクタを定義できます。

複数コンストラクタが定義されていた場合は、
>newするときに渡した引数の型・数・順番
対応するコンストラクタが動作します。

複数のコンストラクタが定義されていても、
1つだけしか動作しません。

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

すべてのクラスはインスタンス化する際
必ず何らかのコンストラクタを
実行する決まりになっています。

上記のことから
引数のない何も処理をしないコンストラクタ
を定義しなければなりません。

コンストラクタの特例
クラスに1つもコンストラクタが
定義されていない場合に限って
「引数なし、処理内容なし」の
コンストラクタ定義が
コンパイル時に自動的に追加される。

このコンストラクタの特例によって、
通常のインスタンス生成が可能になります。

SPONSORED LINK

改行

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

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

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

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

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

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

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

「this.メンバ名」のthisは
自身のインスタンスを表す。

「this(引数)」のthis()は
同一クラスの別のコンストラクタを呼び出す。

SPONSORED LINK

今の年収に満足していますか?



同じ契約金で業務委託していても

在籍している会社によって給料が違います。


今と同じスキル・業務内容でも

年収が変わるということです。


さらに以下を考慮すると

より年収アップにつながります。


  • スキルセットと需要
  • 経験と実績
  • 業界や地域の市場価値
  • 転職時の交渉スキル


転職先の企業の給与体系や

業界の標準的な給与水準を調査し、

転職前後の給与を比較することができます。


給与のみでなく、

福利厚生やキャリア成長の機会、

ワークライフバランスなどの要素も

総合的に考慮することが重要です。


こちらで転職・年収アップできました👇【エントリーは簡単30秒!】


【ITエンジニア特化LP】転職エージェント





ITエンジニアの知識を効率よく身につけるには?


Kindle Unlimitedは、Amazonが提供する

月額定額制の電子書籍サービスを活用します。


また、Kindle Unlimitedには、

体験版が提供されています。


体験版では、一定期間(通常は30日間)に限り、

Kindle Unlimitedのサービスを

無料で利用することができます。

1.豊富な書籍のラインナップ

Kindle Unlimitedには、

幅広いジャンルの書籍が

数十万冊以上含まれています。


小説、ビジネス書、自己啓発書、

学術書、漫画など、

様々なテーマや興味に合わせて

多彩な選択肢があります。


2.サービスの内容を体験

体験版では、Kindle Unlimitedの

全ての機能を使いながら、

豊富な書籍のラインナップや

読書体験を体験することができます。


自身の読書の好みや

利用頻度に合うかどうかを確認できます。


3.解約が可能

体験版期間中に

Kindle Unlimitedのサービスに

満足しなかった場合、

期限内に解約することができます。


その場合、追加料金はかかりません。



ここで利用できました👇【登録は簡単30秒!】


Kindle Unlimitedの無料体験を始める



Kindle Unlimitedでは

さまざまなジャンルの書籍が提供されています。


ITエンジニアとしてスキルを向上させたり

新しい技術を学んだりする際に、

Kindle Unlimitedは

便利な資源となるのでおすすめです。


SPONSORED LINK

Linuxコマンド【ls】カレントディレクトリの一覧を表示するコマンド前のページ

Linuxコマンド【cd】ディレクトリを移動・変更するコマンド次のページ

ピックアップ記事

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

関連記事

  1. 文字列

    Java リスト内に特定の文字列が含まれているかチェックする方法

    Javaでリスト内に特定の文字列が含まれているかどうかを確認する方…

  2. Class・Object

    Java オブジェクト指向の解説・継承

    処理を受け継ぐ「継承」とは以前作成したクラスと似通ったクラスを…

  3. Class・Object

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

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

  4. Class・Object

    Java ファイルやディレクトリの存在チェック(exists)とパターンを解説

    こちらの記事でファイルやディレクトリの存在チェック(exists)…

コメント

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

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

Recommended Article

Pickup

  1. News

    Java 9のモジュール機能で何が変わるのか[JavaOne2017]
  2. PostgreSQL

    SQL IN関数を使用して項目の値と一致するか確認する方法
  3. JavaScript・TypeScript

    Vue.js 行が選択されたときにボタンを活性化、非活性化にする
  4. Basic

    Java JREとJDKの違いと関係性は!?環境変数設定と確認までの手順解説!!…
  5. Class・Object

    Java プロパティファイルを使ってテキスト(txt)出力ファイルの書き込みとパ…
PAGE TOP

Copyrighted Image