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

広告

コンストラクタにはメソッドと同じように引数を指定することができます。引数がある場合のコンストラクタを使用する場合、そのクラスからオブジェクトを作成する際に下記のように記述します。

クラス名 オブジェクト名 = new クラス名(引数);

実際の使い方としては下記のようになります。

ctest9.java

class ctest9{
  public static void main(String args[]){
    Television tv1 = new Television("居間");
    tv1.dispChannel();

    Television tv2 = new Television("台所");
    tv2.dispChannel();
  }
}

class Television{
  private int channelNo;
  private String place;

  Television(String newPlace){
    channelNo = 1;
    place = newPlace;
  }

  public void setChannel(int newChannelNo){
    channelNo = newChannelNo;
  }

  public void dispChannel(){
    System.out.println("現在のチャンネルは" + channelNo+ "です");
    System.out.println("設置してある場所は" + place + "です");
  }
}

上記ではデフォルトの値を設定したいチャンネルはコンストラクタの中で固定の値を設定し、オブジェクト毎に異なる値をオブジェクト作成時に設定したい設置場所はコンストラクタの引数に指定してコンストラクタの中で設定しています。

実際に実行してみると下記のようになります。

p3

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。