在百度和GOOGLE上查了好久 都查不到 满意的答案 
想知道JAVA中的参数到底是怎么一回事 那些参数到底应该怎么用 
方法当中的参数有时候有 有时候没有 这些都是固定的吗 
有好心人能帮帮我吗 谢谢

解决方案 »

  1.   

    Java参数传递方式
    1、对于原始数据类型,也就是int、 long、char之类的类型,是传值的,如果你在方法中修改了值,方法调用结束后,那个变量的值没用改变。
    2、对于对象类型,也就是Object的子类,如果你在方法中修改了它的成员的值,那个修改是生效的,方法调用结束后,它的成员是新的值,但是如果你把它指向一个其它的对象,方法调用结束后,原来对它的引用并没用指向新的对象。
    代码如下:
    public class Tester {
        public static void main(String[] args) {
            int primitive = 2;
            changePrimitive(primitive);
            //primitive的值依然是2
            MyClass myClass = new MyClass();
            changeObject(myClass);
            //myClass仍然指向的是执行changeObject之前的那个对象
            //但是myClass.i等于3了
        }    public static void changePrimitive(int primitive) {
            primitive = 3;
        }    public static void changeObject(MyClass myClass) {
            myClass.i = 3;
            myClass = new MyClass();
        }
    }class MyClass {
        int i;
    }对于远程调用,无论是什么类型,调用结束后,传入的参数和以前没用任何变化(当然前途是直接调用远程方法,如果中间经过其它的Proxy类或者 Facade类,不能保证那些类对对象没用修改)。至于是通过Local接口进行调用的,也应该属于本地调用,和上面说的情况应该是一致的。