teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

System\.out\.println\(obj\.num\)のところを追記しました。

2016/05/27 09:00

投稿

argius
argius

スコア9396

answer CHANGED
@@ -7,6 +7,7 @@
7
7
  修飾子を付けてみると分かりますが、
8
8
  `A`クラスは`void func() { this.num++;}`となるのに対し、
9
9
  `B`クラスは`void func() { B.num++;}`となります。
10
+ `System.out.println(obj.num);`のとき、`B.num`ではなく、`super.num`を参照していると考えてみてください。
10
11
 
11
12
  `B`クラスで`void func() { super.num++;}`とすれば、少し思っていたものに近くなるのではないでしょうか。
12
13
  (ちなみにここは`this.num++`ではダメです。)