PHASE2 LOG

主にIT関連・ゲームのログ

Javaのお勉強~コンストラクタ~

      2016/03/12

昨日は風邪を引いたせいで怠くてすぐ寝ちゃいました…

今日は良くなってるのでお勉強です!

 

コンストラクタとは

 

インスタンス化する際に自動的に呼び出される特殊なメソッドをコンストラクタといいます。

コンストラクタの役割はオブジェクト(インスタンス)を適切に初期化することです。

 

そのためクラス型を宣言するときには必ずコンストラクタを用意するようにしましょう。

また通常のメソッドとは異なり、コンストラクタは値を返却できない点にも注意です。

 

 

引数がある場合とない場合

 

■引数がないコンストラクタ

例として以下のコードを見てみます。

class Test{
	int No;
	String Name;
	
	//コンストラクタ
	Test() {	//クラスと同じ名前
		No = 1;
		Name = "NoName";
	}
}
public class Const {
	public static void main(String[] args){
		Test a = new Test();	//インスタンス化 + コンストラクタ呼び出し
		System.out.println("No:" + a.No + " 名前:" + a.Name);
	}
}

 

Testクラスをインスタンス化した際に、Noは「1」でNameは「NoName」と

いうようにコンストラクタで初期化しています。

 

引数がないコンストラクタの場合、クラスをインスタンス化する際に

引数を渡そうとしてもエラーになります。

 

つまり、コンストラクタ内で初期化した値以外では初期化しないように

なっているということですね!

 

■引数があるコンストラクタ

反対に引数がある場合のコンストラクタについて見てみましょう。


class Test{
	int No = 1;
	String Name = "aaa";
	
	//コンストラクタ
	Test(int one, String two) {	//クラスと同じ名前
		No = one;
		Name = two;
	}
}
public class Const {
	public static void main(String[] args){
		Test a = new Test(2, "名無しさん");	//インスタンス化 + コンストラクタ呼び出し
		System.out.println("No:" + a.No + " 名前:" + a.Name);
	}
}

 

Testクラスをインスタンス化した際に、Noは「2」でNameは「名無しさん」と

引数を渡してコンストラクタで初期化しています。

 

コンストラクタでは「Test(int one, String two)」と

引数を2つ渡すように記述されていますね。

なので、引数がなかったり1つしか無かったり、型が間違っていたりするとエラーを返します。

 

これは不正な初期化を防ぐことにもつながります。

 

とりあえずコンストラクタの基本についてはこんな感じですね(´∀`)

人気ブログランキング

 -