【Java開発】第6回 コンストラクタ

Java入門講座

初めに

皆さん。こんにちは!

DreamHanksの254cmです。

今回はコンストラクタについて説明していきます。

Java記事のまとめはこちらです。

前回の記事は【Java開発】第5回 クラスです。

 

コンストラクタ

・コンストラクタとは?

コンストラクタはクラスのインスタンスを生成するために使うメソッドです。

コンストラクタは「new」キーワードを使って呼び出します。

 

コンストラクタの呼び出し方

 

コンストラクタの書き方

 

メソッドの書き方が似ていますが、コンストラクタは戻り値が存在しません。

サンプルを見ながら説明します。

・サンプル

 

上記のように作成するとCatクラスのインスタンスを生成したと否やmugiのageとcolorに値が設定されます。

コンストラクタはインスタンスを生成するたびに呼び出され、

インスタンス作成時に実行する処理を指定することができます。

つまり、作成者が意図した通りインスタンスを生成することができます。

 

 

※デフォルトコンストラクタ

javaコンパイラーはコンストラクタを作成していないクラスに対して、

デフォルトコンストラクタを追加させます。

デフォルトコンストラクタは実際のソースコードでは見えないですが、

以下のようなものが追加されます。

 

 

上記のような空のコンストラクタが追加され、

コンストラクタを作成しなくてもクラスのインスタンスを生成することができます。

しかし、デフォルトコンストラクタはインスタンスの生成以外の動作はしません。

・サンプル

 

上記のようなコンストラクタが作成されていなくても、インスタンス生成ができます。

 

デフォルトコンストラクタは一般のコンストラクタが作成されている場合には

使用できません。

クラスの作成者がインスタンス生成時に意図した処理を実行させたくてコンストラクタを

作成しますが、デフォルトコンストラクタを使用すると意図した処理を

実行させることができないのでです。

this

・thisとは?

thisはインスタンスが自分を参照するために使われる変数です。

thisはインスタンスのアドレスを示しています。

・サンプル

 

上記のサンプルを見ると

this変数を利用して自分(Dog)のage,name,speciesに接続して

パラメターのage,name,speciesを代入しています。

上記のサンプルのようにコンストラクタのパラメターとクラスのフィールドの名前が重複された場合

this変数を利用して区分けすることができます。

this変数は後で勉強するstaticメソッドでは使えません。

staticメソッド以外のメソッドは中でthis変数が隠されていて

this変数を使うことができます。

 

終わりに

今回の記事は以上になります。

次回はJavaクラスの継承を学びましょう。

ご覧いただきありがとうございます。

 

Java入門講座
スポンサーリンク
dreamhanksをフォローする
スポンサーリンク
DreamHanks Blog

コメント