回答編集履歴
2
追加
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
※以下の方法を行っても、x=5にはなりません。それはクラスBの保存の問題とは別の問題になります。
|
1
|
+
※以下の方法を行っても、x=5にはなりません。それはクラスBの保存の問題とは別の問題になります。(最後に補足しました)
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -167,3 +167,15 @@
|
|
167
167
|
}
|
168
168
|
|
169
169
|
```
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
---
|
174
|
+
|
175
|
+
`x = 5`にならないのは、`x+=2`を行っている場所での`x`とは、
|
176
|
+
|
177
|
+
`B1_Method(int x)`という風に定義された仮引数なので、そのメソッドの内部でしか有効ではないからです。
|
178
|
+
|
179
|
+
メソッドの中で`3+2`は確かに行われますが、メソッドの終了と共にその結果はそのまま消えてなくなります。
|
180
|
+
|
181
|
+
それを外部に伝えたい場合は、消えない場所の変数に保存するか、返り値等で伝える必要があります。
|
1
追加
test
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
※以下の方法を行っても、x=5にはなりません。それはクラスBの保存の問題とは別の問題になります。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
1
7
|
`B b;`
|
2
8
|
|
3
9
|
これだけでは、クラスBを入れることのできる箱(変数)を用意したにすぎません。
|