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

2021年4月7日

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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();
}
}
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(); } }
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