変数のスコープみたいなものが、いまだに良く分かって
ないみたいなんです。このプログラムを実行すると、
15 0 20と表示されるのですが、最後がなぜ15ではなく
て、20なのかがなかなか分かりません。どなたか教えて
頂けませんでしょうか。お願いします。
class Value
{
public int i = 15;
}
public class Test
{
public static void main(String argv[])
{
Test t = new Test();
t.first();
}
public void first()
{
int i = 5;
Value v = new Value();
v.i = 25;
second(v, i);
System.out.println(v.i);
}
public void second(Value v, int i)
{
i = 0;
v.i = 20;
Value val = new Value();
v = val;
System.out.println(v.i + " " + i);
}
}
お礼
再度の回答ありがとうございます。「引数の値」という のは、”メソッドに引数として渡された、参照型変数の 値”、という意味です。説明不足で申し訳ございません でした。ranxさんの説明を何回も注意深く読んでいるう ちに、理解出来たような気がします。ありがとうござい ました。