- 368 名前:仕様書無しさん mailto:sage [04/01/14 11:48]
- つづき
引数をchangeメソッドに渡すことで、Aのxに@のxを代入したことになりますが、 これは、参照先({1, 2, 3, 4, 5}配列)を渡したことになります。 つまり、changeメソッド開始時点では、 @のxと、Aのxが同じ配列オブジェクトを参照していると言うことです。 しかし、changeメソッド内の x = y; によって、 Aのxは、yの配列オブジェクト({11, 22, 33, 44, 55}配列)を参照することになります。 このとき、Aの参照しているオブジェクトを書き換えるのではなく、 Aの参照先を書き換えることに注意してください。 この結果、@のxの参照するオブジェクトは初期状態のまま保持されます。 こんな感じでいかがでしょう?
|

|