ご質問です。
今Javaの入門を進めている所です。その中で、コンストラクタ辺りが終わった後に、この練習問題を解いています。
問いは、この実行結果とその結果の理由を「参照」という言葉を使って説明せよとなっています。
私の疑問は次の点です。
①Thief t = new Thief()はインスタンスを生成しているのですよね?
Thiefクラスは無くてもいいの?
②new Thief("タナカ",baseHp)という引数?を渡していますが、コンストラクタで宣言していないのに渡せるのでしょうか。
③実行結果の
25:25
25:35
となるのはなぜでしょうか。
抽象的な質問であれば申し訳ありません。
よろしければアドバイスお願いします。
public class Main_1 { public static void heal(int hp){ hp += 10; } public static void heal(Thief thief){ thief.hp += 10; } public static void main(String[] args){ int baseHp = 25; Thief t = new Thief("タナカ",baseHp); heal(baseHp); heal(t); System.out.println(baseHp + ":" + t.hp); } } //追記分 public class Thief { String name; int hp; int mp; public Thief(String name, int hp, int mp){ this.name = name; this.hp = hp; this.mp = mp; } public Thief(String name, int hp){ this(name,hp,5); //this.mp = 5; } public Thief(String name){ this(name,40); } } ```ここに言語を入力 コード
回答1件
あなたの回答
tips
プレビュー