Javaにおけるコンストラクタの基本原則と使用方法を簡単に解説

java

コンストラクタとは

オブジェクトの初期化にために使われる、特殊なメソッドのこと

オブジェクト生成時に様々な初期処理を行うことができる

//実行用クラス
public class Execution {

	public static void main(String[] args) {
		new Goods("パソコン", 100000);
	}
}
//商品クラス
public class Goods {
	//コンストラクタを定義
	public Goods(String name, int price) {
	    //処理内容
		System.out.println("商品:" + name + "の値段は" + price + "円です。");
	}
}

実行結果

商品:パソコンの値段は100000円です。

コンストラクタの条件

  • クラス名と名前が一緒
  • 戻り値を持たない
  • new クラス名(コンストラクタの引数)の記述

①クラス名と名前が一緒

クラス名よメソッド名の名前が一緒でなくてはならない

今回のコードを参照にすると

クラス名が『Goods』なのでメソッド名も『Goods』となっている

//商品クラス
           //クラス名
public class Goods {
	     //メソッド名
	public Goods(String name, int price) {
		System.out.println("商品:" + name + "の値段は" + price + "円です。");
	}
}

②戻り値を持たない

コンストラクタを定義する際の注意点として

『String』『int』『void』など戻り値の型を記述してはいけない

NG例

public void Goods(String name, int price) {
	System.out.println("商品:" + name + "の値段は" + price + "円です。");
}

今回は『void』と記述してあるのでエラー

③new クラス名(コンストラクタの引数)の記述

オブジェクトを生成するため『new』演算子を使用して

生成するオブジェクトのクラスを指定している

『(コンストラクタの引数)』がある場合は、コンストラクタの定義が必要となる

今回のコードを参照すると『(コンストラクタの引数)』に文字列の”パソコン”と数値の10000が指定してあるため、コンストラクタを定義する際に、文字列であるString型と数値のint型を引数に指定する

             //文字列  //数値
    new Goods("パソコン", 100000);
    public Goods(String name, int price){処理内容}

プラスαで抑えておきたい知識

・コンストラクタメソッドの一種なのでオーバーロードが可能

・コンストラクタを定義していない場合は、自動でデフォルトコンストラクタ(引数・処理なし)が生成される

//デフォルトコンストラクタ
    public Goods() {}

コメント

PAGE TOP
タイトルとURLをコピーしました