日期:2014-05-20  浏览次数:20671 次

为什么调用方法之后变量值没变
在下面这个程序中,为什么调用了方法m之后a的值还是1。
public class Test {
      public static void main(String[]args){   
  int a = 1;
  int[] y = new int[10];
  y[0] = 1;
  m(a,y);
  System.out.println("a is " + a);
  System.out.println("y[0] is " + y[0]);
      }
      
      private static void m(int a, int[] numbers) {
       a = 1001;
       numbers[0] = 5555;
}
}
程序执行结果是a is 1;y【0】 is 5555.

------解决方案--------------------
基本类型传的是值呀,不是引用,当然不会改变了!