以下のコンストラクタ2と3では、同一クラス内の呼び出しを行っていると思われますが、特に3において、なぜ40がhpで、5がmpとなるのか理解できません。
メソッドの()とは別の考え方で、this(引数);の引数とは、どの引数を示すのでしょうか。
宜しくお願い致します。
public class Boss { String name; int hp; int mp; //コンストラクタ1 public Boss(String name, int hp, int mp){ this.name = name; this.hp = hp; this.mp = mp; } //コンストラクタ2 public Boss(String name, int hp){ this(name, hp, 5); } //コンストラクタ3 public Boss(String name){ this(name, 40); } public Boss(){ } } public class Main3 { public static void main(String[] args) { Boss t1 = new Boss("ガノン", 40, 5); System.out.println(t1.name + "のHPは" + t1.hp + "でMPは" + t1.mp); Boss t2 = new Boss("ガノン", 55); System.out.println(t2.name + "のHPは" + t2.hp + "でMPは" + t2.mp); Boss t3 = new Boss("ガノン"); System.out.println(t3.name + "のHPは" + t3.hp + "でMPは" + t3.mp); Boss t4 = new Boss(); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/26 12:50