回答編集履歴
2
なぜか編集途中の回答になっていたので編集後のものに修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
例えば、インナークラスのフィールド
|
1
|
+
例えば、インナークラスのフィールドに外部クラスのフィールドと同じ名前の変数がある状態で、外部クラスのフィールドを取得したいとき。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -12,25 +12,15 @@
|
|
12
12
|
|
13
13
|
class InnerSample{
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
public void printAnimal1() {
|
18
|
-
|
19
|
-
|
15
|
+
String animal = "gorilla";
|
20
|
-
|
21
|
-
}
|
22
16
|
|
23
17
|
|
24
18
|
|
25
|
-
|
26
|
-
|
27
|
-
public void printAnimal
|
19
|
+
public void printAnimal() {
|
28
|
-
|
29
|
-
String animal = "gorilla"; //外部クラスのフィールドと同じ名前のローカル変数がインナークラスのメソッド内にある
|
30
20
|
|
31
21
|
System.out.println(animal); //gorilla
|
32
22
|
|
33
|
-
System.out.println(Sample.this.animal); //mouse
|
23
|
+
System.out.println(Sample.this.animal); //mouse
|
34
24
|
|
35
25
|
}
|
36
26
|
|
@@ -42,11 +32,7 @@
|
|
42
32
|
|
43
33
|
InnerSample sample = new Sample().new InnerSample();
|
44
34
|
|
45
|
-
sample.printAnimal
|
35
|
+
sample.printAnimal();
|
46
|
-
|
47
|
-
sample.printAnimal2();
|
48
|
-
|
49
|
-
|
50
36
|
|
51
37
|
}
|
52
38
|
|
@@ -54,6 +40,8 @@
|
|
54
40
|
|
55
41
|
}
|
56
42
|
|
43
|
+
|
44
|
+
|
57
45
|
```
|
58
46
|
|
59
47
|
|
1
文の追加
test
CHANGED
@@ -55,3 +55,7 @@
|
|
55
55
|
}
|
56
56
|
|
57
57
|
```
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
まあ、「同名の変数を区別する」という点では同じですが一例として挙げておきます。
|