搞不清的问题
程序一
class Test17
{
public static void main(String[] args)
{
int i=2;
modify(i);
System.out.println("i="+i);
}
public static void modify(int i)
{
i++;
}
}
结果是i=2
程序二
class Test18
{
public static void main(String[] args)
{
int[] a=new int[1];
modify(a);
System.out.println(a[0]);
}
public static void modify(int[] a)
{
a[0]++;
}
}
结果是1
换言之,在两个程序中,第一个i的值不受静态方法的影响;而第二个数组的值受的静态方法的影响而变化。