public int func(int i);
begin
    return 0;
end;orpublic void func(Integer i);
begin
  i = new Integer(0);
end;

解决方案 »

  1.   

    你只能把你要修改的值封装在类中,用引用来修改,虽然传递的引用是副本,但它与原本都指向同一个对象
    class A{
        int i;
    }class B{
        func(A param){
            param.i=0;
        }}
      

  2.   

        在Java中,8种固定的原始数据类型定义的变量作为参数的时候都是进行 值传递 的,而其他由类定义的变量(也就是对象)作为参数的时候则是按照 引用 使用的,因为没有指针了,所以通过引用来实现变量内存共享。
        因此,最好把简单变量封装在类中,使其成为成员变量,再通过传递类,给实例变量赋值即可。
        上面举的例子就很精彩。
      

  3.   

    void func (int[] i)
    {
      i[0] = 0;
    }int[] j = new int[1];
    j[0] = 1;
    func(j);
    System.out.println(j[0]);
      

  4.   

    都是传值,因为java里的"对象"都是"对象引用"
      

  5.   

    严格地讲在JAVA中方法之间是通过值来传递的。但在实际编程中,我们可以把它封装到JAVA的基础类和继承类中去引用。
      

  6.   

    谢谢大家
    总结:
    严格地讲在JAVA中方法之间是通过值来传递的;且java里的"对象"也是"对象引用"。