java值传递几个注意点

来源:互联网 发布:蒙大拿级战列舰数据 编辑:程序博客网 时间:2024/05/01 07:49

  例子:

   public static void main(String[] args) {

        StringBuffer stra = new StringBuffer("A");
        StringBuffer strb = new StringBuffer("B");
        changed(stra, strb);

        System.out.println(stra + " " + strb);
    }

    public static void changed(StringBuffer a, StringBuffer b) {

        b.append(a);

        a = new StringBuffer("C");

    }


1.值传递的本质是才在传递引用类型的参数时,传的并非值的本身,而是该值的所在地址。

2.值传递过程中,对形参的值做修改,实参的值也会发生同样的改变。

3.这点我认为比较容易混淆,在值传递过程中,形参和实参是两个对象,只是两个对象同时引用一个地址,当对其中一个对象做修改的时候,

另一个对象也会发生同样的修改(前面这段我相信大家都比较明白),容易混淆的是,当改变其中一个对象的引用地址时,那么这两个对象就已经没有关联了,

不要认为另一个对象跟着改变引用地址。


0 0
原创粉丝点击