[Java]this()で複数のコンストラクタを分けるサンプル
書式
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();
}
}
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