Java コンストラクタのサンプル

Javaのコンストラクタのサンプルです。

目次

コンストラクタのサンプル

コンストラクタは、インスタンスを作成する時に呼ばれます。
6行目がコンストラクタです。クラス名と同じ名前にします。
18行目でインスタンスが作成されると6行目のコンストラクタが呼ばれて引数の値(オレンジ)が4行目のメンバ変数にセットされます。

package test1;

class Color {
	private String name;
	
	public Color(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}
}
public class Test1 {
	public static void main(String[] args) {
		
		//インスタンスを作成
		Color c1 = new Color("オレンジ");
		
		System.out.println(c1.getName()); //オレンジ
	}
}

デフォルトコンストラクタのサンプル

上記コードの6-8行目のコンストラクタを記述しない場合、空のコンストラクタが暗黙的に生成されます。
その空のコンストラクタのことをデフォルトコンストラクタと呼びます。
以下の6,7行目のイメージになります。

package test1;

class Color {
	private String name;
	
	Color() {
	}

	public String getName() {
		return name;
	}
}
public class Test1 {
	public static void main(String[] args) {
		
		//インスタンスを作成
		Color c1 = new Color();
		
		System.out.println(c1.getName()); //null
	}
}

コンストラクタのオーバーロードのサンプル

コンストラクタのオーバーロードのサンプルです。
5,9,12行目は、同じコンストラクタ名ですが引数の数が異なります。
→オーバーロードと言います。
19行目のコンストラクタの引数は2つです。引数の数が同じ5行目を呼びます。
23行目のコンストラクタの引数は1つです。引数の数が同じ9行目を呼びます。
→10行目のthisは、引数の数が同じ5行目のコンストラクタを呼びます。
27行目のコンストラクタの引数は0です。引数の数が同じ12行目を呼びます。

package test1;
class Color {
	 String name1;
	 String name2;
	public Color(String name1,String name2) {
			this.name1 = name1;
			this.name2 = name2;
	}	
	public Color(String name1) {
		this(name1,"オレンジ");
	}
	public Color() {
		name1="白";
	}
}
public class Test1 {
	public static void main(String[] args) {
		//インスタンスを作成
		Color c1 = new Color("赤","青");//引数2つ
		System.out.println(c1.name1); //赤
		System.out.println(c1.name2); //青
		
		Color c2 = new Color("赤");//引数1つ
		System.out.println(c2.name1); //赤
		System.out.println(c2.name2); //オレンジ
				
		Color c3 = new Color();//引数0
		System.out.println(c3.name1); //白
		System.out.println(c3.name2); //null
	}
}

関連の記事

Java クラスのサンプル
Java クラスの変数のサンプル(メンバー変数/ローカル変数)
Java 変数の型変換とキャストのサンプル
Java インスタンスの型を調べるサンプル(instanceof)
Java クラスのthisのサンプル
Java インターフェースのサンプル
Java abstract修飾子のサンプル
Java シングルトンのサンプル
Java ポリモフィズムのサンプル
Java staticメソッドとstatic変数のサンプル



△上に戻る