初めましてのコンストラクタってものが出てきたから、今回はコンストラクタについてまとめることにした。
コンストラクタがどんなものかについてと、コンストラクタを使ったコードについて見ていこうと思う。
コンストラクタとは?
コンストラクタはメソッドの一つで、英語では「special method(スペシャルメソッド)」とも表現される。
Javaのコンストラクタはオブジェクトの属性、即ち「int age」や「String name」などのような変数の初期値を設定するときに使用することができる。
例えば「age」という変数の初期値を「5」と設定したいとか。
実はコンストラクタは、クラスのオブジェクトが生成されたときに自動的に作られている。
自分でコンストラクタを作らなかった場合は、目に見えないだけでJavaが内部的に作っている。
コンストラクタを作れば「age=5」といったような初期値が自分で設定できるけれど、作らなければ自動的に「0」もしくは「null」が初期値として設定される。
nullはStringを使用した文字列の変数の場合。
コンストラクタを作った場合、オブジェクトが作られるたびに、コンストラクタで作った初期値が参照される。
コンストラクタの作り方
コンストラクタを作る際には以下のルールがある。
-
コンストラクタの名前はクラス名と同じでなくてはならない
-
voidなどの戻り値の型を使うことはできない
-
コンストラクタは当該クラスの中に書かれる
コンストラクタの構成は以下の通り。
以下がコンストラクタを使ったコード。
ConstractorUse EBI = new ConstractorUse();
System.out.println(EBI.age); } } class ConstractorUse {
int age=5; ConstractorUse(){
age=10;
}
}
緑の部分がコンストラクタ。
自分で作った「ConstractorUseクラス」に、最初に「int age=5」と記入した。
その後で、初期値を設定するコンストラクタを使用し、その中に「age=10」と初期値が「10」であると設定してみた。
これで、「5」と「10」のどちらの値が画面に出力されるのか確認してみた。
その後メインメソッド内でオブジェクトを作成し、画面に出力するコードを入力した。
オブジェクトの作成方法は以下参照。
自作したクラスに状態を表すデータを作る-オブジェクトの作成方法 by Javaプログラミング初心者 Vol.37
コンストラクタを使用したコードを実行した結果
上のコードを実際に実行すると、画面には「10」と表示された。
このことから、クラス直下に書かれた「int age=5;」よりも、コンストラクタを作って設定した「age=10」の方が優先されている。
よって、コンストラクタで初期値を設定したら、メインメソッド内でオブジェクトを作成し、System.out.println(EBI.age);と書くだけで初期値の「10」が表示されることになる。
これが初期値。
もしコンストラクタを作らずに「int age=5;」だけだったら、問題なく「5」が画面に表示される。
最後に
コンストラクタを使用することで、デフォルトではなく自分で初期値を設定することができる。
コンストラクタは自動で作られるけど、それだと数字の場合は「0」、文字列の場合は「null」となる。
0やnull以外の初期値を設定したいならコンストラクタを使用すればいい。
コメント