石田修二 > コンピュータメモ > Java >    (サイト内検索

コンストラクタ

コンストラクタとは

オブジェクトが作成されるタイミングで自動的に実行される特殊なメソッドのことです。クラスと同じ名前を定義する必要があります。コンストラクタは,オブジェクトの作成と同時に1回だけ実行され,オブジェクトのフィールドに値を代入する場合などに利用します。

まず,クラス「Shohin」に,引数「name」「price」を受け取り,各フィールドに値を設定するコンストラクタを追加します(赤字の部分が追加したものです)

/* 商品データを1件管理するクラス */
public class Shohin {
	// フィールド
	private String name; // 名前
	private int price; // 価格
	
	// コンストラクタ
	/* 引数で受け取る値をフィールド「name」「price」に格納 */
	public Shohin(String name, int price){
		/* クラス内のセンターメソッドを呼び出す */
		this.setName(name);
		/* クラス内のセンターメソッドを呼び出す */
		this.setPrice(price);
	}
	
	// セッターメソッド
	/* メソッド:引数で受け取る値をフィールド「name」に格納 */
	public void setName(String name){
		this.name = name;
	}
	
	/* メソッド:引数で受け取る値をフィールド「price」に格納 */
	public void setPrice(int price){
		this.price = price;
	}
	
	// ゲッターメソッド
	/* メソッド:フィールド「name」に設定されている値を取得 */
	public String getName(){
		return this.name;
	}
	
	/* メソッド:フィールド「price」に格納されている値を取得 */
	public int getPrice(){
		return this.price;
	}
}

(注)クラス「Shohin」は main メソッドをもっていないため,クラスファイル「Shohin.class」を単独では実行できません。

次に main メソッドを持つクラス「Constructor」を作成します。

クラス「Shohin」からオブジェクトを作成し,オブジェクトの作成と同時にコンストラクタを利用してフィールドに値を設定して,設定した値を画面に出力します。

/* 
 * Shohinクラスにアクセスするmainメソッドをもつクラス 
 * 【コンストラクタの利用】
 */
public class Constructor {
	public static void main(String[] args) {
		
		// オブジェクト「shohin1」の作成,フィールドに値の設定
		/* コンストラクタの利用 */
		Shohin shohin1 = new Shohin("日替わり弁当", 480);
		
		// オブジェクト「shohin2」の作成,フィールドに値を設定する
		/* コンストラクタの利用 */
		Shohin shohin2 = new Shohin("スペシャル洋食弁当", 620);
		
		// オブジェクトのフィールドに設定されている値の出力
		System.out.println("オブジェクトのフィールドに設定されている値の確認(メソッドの利用)");
		
		/* ゲッターメソッドを利用して,オブジェクト「shohin1」の確認 */
		System.out.print("■確認 [shohin1] ");
		System.out.print("(品名):" + shohin1.getName());
		System.out.print(" ");
		System.out.print("(価格):" + shohin1.getPrice() + "円");
		System.out.print("\n");
		
		/* ゲッターメソッドを利用して,オブジェクト「shohin1」の確認 */
		System.out.print("■確認 [shohin2] ");
		System.out.print("(品名):" + shohin2.getName());
		System.out.print(" ");
		System.out.print("(価格):" + shohin2.getPrice() + "円");
		System.out.print("\n");
	}
}

リンクはご自由にどうぞ。

【石田修二トップページ】  【コンピュータメモ】 【Java】

Last modified: 2016-04-08 10:48:32