現在staticの単元の勉強をしております。
ここでこの問題に詰まりました。
以下問題
/*以下のプログラムを実行すると
本田さんの得点:74
本田さんの得点:83
という結果になりました。
田中さんの得点:74
本田さんの得点:83
という結果になるようプログラムを修正してください。
(★SubStatic1クラスの内容のみ修正してください。★)*/
lang
1package overload_1008; 2class SubStatic1{ 3 //フィールド 4 static String name = ""; 5 int score = 0; 6} 7class Static01{ 8 public static void main(String[] args) { 9 //インスタンス化 10 SubStatic1 tanaka = new SubStatic1(); 11 SubStatic1 honda = new SubStatic1(); 12 13 //フィールドに代入 14 tanaka.name = "田中"; 15 tanaka.score = 74; 16 honda.name = "本田"; 17 honda.score = 83; 18 19 //表示 20 System.out.println(tanaka.name + "さんの得点:" + tanaka.score); 21 System.out.println(honda.name + "さんの得点:" + honda.score); 22 } 23}
なぜ本田さんで田中さんが上書きされているのかが理解できません。
なので問題を解く事すら敵わない状況です。
この状態で実行を行った場合、
どの様な処理が行われているのか、
どなたか手順を追って解説をしては頂けませんでしょうか(汗)
また、その処理を回避する方法も一緒にご教授頂けるとありがたいです。
どうぞよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/15 00:06