结果是0
因为
private static int a;
没有指定值,默认是0
modify(a)
是值传递,调用并不会改变static int a的值

解决方案 »

  1.   

    public static void modify(int a) 
    {
      a++;
    }
    改变的只是modify传递进来的a,而不是类变量a的值。也就是说a++,它加的只是方法级的变量a,而不是类级变量a。java中如果在方法中有与类变量同名的变量名,则以方法内的变量名会屏蔽掉同名的类变量名。
    所以System.out.println(a) ;打印出来的永远是0。
      

  2.   

    这是最基本的问题。
    JAVA方法中的参数:基本类型是值传递,类是地址传递,STRING例外。
      

  3.   

    not a reference parameter, return the static int will make it ok.