- 505 名前:桃白白 [2013/03/11(月) 11:24:11.98 ]
- >>500
桃白白が教えてあげちゃう。 > aを変更しても引数でいれたint型の変数には影響無いと思っておいてよいですか? いいよ。 > bは配列のオブジェクトなので変更すれば影響があると思っておいて良いですか? いいよ。 > cはIntegerクラスのオブジェクトなので変更すれば影響があると思っておいて良いですか? いいよ。 1番目の質問と2番目の質問では「変更する」の対象が違ってる。 1番目の質問の「変更する」の対象はaが指し示す値。 a = 2とか。呼び出し元に影響はない。 2番目の質問の「変更する」の対象はbが指し示すオブジェクトの状態。 b[0] = 2とか。呼び出し元にも影響する。 1番目の質問と同じように「変更する」の対象がbが指し示す値だとするなら aと同じように呼び出し元に影響はない。 b = new int[0]と書いても呼び出し元の変数は変わらない。 3番目の質問はcが指し示すオブジェクトの状態を変更すれば影響はおよぶ。 しかし、Integerクラスは状態を変更することができないもの。 じっさいには呼び出し元に影響をおよぼすのはムリ。
|

|