[Java]this()で複数のコンストラクタを分けるサンプル

2021年4月7日

書式
public クラス名(引数1,引数2){
this(引数1,引数2)
}
使用例

package com.study.arkgame;

public class UserInfo {
      String username;
      int age;
      protected static final String sps = "---------------";

      // コンストラク メンバー変数
      public UserInfo(String username, int age) {
            this.username = username;
            this.age = age;
      }

      // デフォルトのコンストラク
      public UserInfo() {
            // default コンストラクタ
            this("UserAA_01", 32);
      }

      // 引数ageのコンストラク
      public UserInfo(int age) {
            // this()でコンストラクを呼ぶ
            this("UserBB_02", age);
      }

      // 引数usernameのコンストラク
      public UserInfo(String username) {
            // this()でコンストラクを呼ぶ
            this(username, 48);
      }

      // メンバー変数の値 出力
      public void show() {
            System.out.println("名前:" + this.username);
            System.out.println("年齢:" + this.age);
      }

      public static void main(String[] args) {
            UserInfo uia = new UserInfo();
            uia.show();
            System.out.println(sps);
            UserInfo uib = new UserInfo(33);
            uib.show();
            System.out.println(sps);
            UserInfo uic = new UserInfo("UserCC_03");
            uic.show();
      }

}

実行結果
名前:UserAA_01
年齢:32
—————
名前:UserBB_02
年齢:33
—————
名前:UserCC_03
年齢:48

Java

Posted by arkgame