java silver 変数への値の代入?について
Q&A
Closed
わからないこと
17行目のコードについて聞きたいです。
17行目のコードでは「3」が出力されます。
解説によると、
5行目でmethodB()を呼び出しで制御が8行目に移り、
9行目でインスタンス変数numに3が代入されているから。
ということなのですが、
2行目のnumに3を代入するためには
9行目は、
this.num=3;
のようにthisを使わないといけないのでは?と理解して
しまっている点で、躓いています。
問題コードと実行結果
問題
1 public class Main {
2 int num;
3 void methodA(){
4 int num = 2;
5 methodB();
6 System.out.print(num);
7 }
8 void methodB(){
9 num= 3;
10 }
11 public static void main(String[] args){
12 Main obj = new Main();
13 int num =1;
14 System.out.print(obj.num);
15 obj.methodA();
16 System.out.print(num);
17 System.out.print(obj.num); //こちらが質問対象のコードです
18 }
19 }
実行結果
0213
理解するためのアドバイスをいただきたいです。
または、ここを復習したほうが良い!などあれば
教えていただきたいです。
よろしくお願いいたします。
0