本帖最后由 jacktree365 于 2011-07-13 09:59:13 编辑

解决方案 »

  1.   

    java 中 方法不能改变传入的值。
      

  2.   

    static 只不过是在另一个static方法里调用而已。
      

  3.   

    changed()方法实际上没干任何事,因为它修改了一个只存活于方法内部的局部变量(如传入的基本类型参数)
    方法结束后局部变量不再存在,因此它对外部世界没有任何影响
      

  4.   

    java中是值传递,楼主的方法值可以传入,但传不出。
      

  5.   

    int型是值类型,参数传递是指传递,就是说只是把i对应的值传递到函数内部,函数内部和函数外部所指的内存不同。
      

  6.   

    对于基本类型来讲
    public static void changed(int a)
        {
            a=3;
        }
    参数a就是一个局部变量,出了这个方法就无效了!
    对于引用类型来讲如:
    public static void changed(Person p1)
        {
            p1.name='bbb';
        }
    p1和实参指向同一个内存区域,所以会改变值