「Java」this()でクラスのコンストラクタを呼ぶサンプル
書式
public クラス名(引数1,引数2){
this(引数1)
javaコード
package com.study.arkgame;
public class SampleDemo {
String username;
int age;
private static final String splitStr = "*****************";
// 引数なし コンストラクタ
SampleDemo() {
this.username = "user001";
this.age = 32;
}
// 引数1個 コンストラクタ
SampleDemo(String username) {
// コンストラクタを呼ぶ
this();
this.username = username;
}
// 引数2個 今スト楽
public SampleDemo(String username, int age) {
this(username);
this.age = age;
}
public static void main(String[] args) {
// 引数なし
SampleDemo sa = new SampleDemo();
System.out.println("名前1: " + sa.username);
System.out.println("年齢1: " + sa.age);
System.out.println(splitStr);
// 引数 1個
SampleDemo sb = new SampleDemo("User002");
System.out.println("名前2: " + sb.username);
System.out.println("年齢2: " + sb.age);
System.out.println(splitStr);
// 引数 2個
SampleDemo sc = new SampleDemo("User003", 40);
System.out.println("名前3: " + sc.username);
System.out.println("年齢3: " + sc.age);
}
}
package com.study.arkgame;
public class SampleDemo {
String username;
int age;
private static final String splitStr = "*****************";
// 引数なし コンストラクタ
SampleDemo() {
this.username = "user001";
this.age = 32;
}
// 引数1個 コンストラクタ
SampleDemo(String username) {
// コンストラクタを呼ぶ
this();
this.username = username;
}
// 引数2個 今スト楽
public SampleDemo(String username, int age) {
this(username);
this.age = age;
}
public static void main(String[] args) {
// 引数なし
SampleDemo sa = new SampleDemo();
System.out.println("名前1: " + sa.username);
System.out.println("年齢1: " + sa.age);
System.out.println(splitStr);
// 引数 1個
SampleDemo sb = new SampleDemo("User002");
System.out.println("名前2: " + sb.username);
System.out.println("年齢2: " + sb.age);
System.out.println(splitStr);
// 引数 2個
SampleDemo sc = new SampleDemo("User003", 40);
System.out.println("名前3: " + sc.username);
System.out.println("年齢3: " + sc.age);
}
}
package com.study.arkgame; public class SampleDemo { String username; int age; private static final String splitStr = "*****************"; // 引数なし コンストラクタ SampleDemo() { this.username = "user001"; this.age = 32; } // 引数1個 コンストラクタ SampleDemo(String username) { // コンストラクタを呼ぶ this(); this.username = username; } // 引数2個 今スト楽 public SampleDemo(String username, int age) { this(username); this.age = age; } public static void main(String[] args) { // 引数なし SampleDemo sa = new SampleDemo(); System.out.println("名前1: " + sa.username); System.out.println("年齢1: " + sa.age); System.out.println(splitStr); // 引数 1個 SampleDemo sb = new SampleDemo("User002"); System.out.println("名前2: " + sb.username); System.out.println("年齢2: " + sb.age); System.out.println(splitStr); // 引数 2個 SampleDemo sc = new SampleDemo("User003", 40); System.out.println("名前3: " + sc.username); System.out.println("年齢3: " + sc.age); } }
実行結果
名前1: user001
年齢1: 32
*****************
名前2: User002
年齢2: 32
*****************
名前3: User003
年齢3: 40