您的位置:首页 > 编程语言 > Java开发

java参数传递,引用还是拷贝

2016-04-19 14:41 381 查看
  

   public class Foo{

        public static void main(String [] args){

         StringBuffer a = new   StringBuffer("G");

        StringBuffer b = new   StringBuffer("H");

        operate(a,b);

      System.out.printlen(a+","+b)

    }

  private static void operate(StringBuffer x, StringBuffer y){

     x.append(y);

    y=x;

  }

}

输出 GH,H;

 java 都是拷贝传递(也就是所为的值传递)a的引用变量将自己的存储单元的内容传给了operate()方法的x的变量

也就是将实体对象的地址传给了x变量,在operate()方法中对x的一切操作都是针对x所指向的这个存储单元。

(x是StringBuffer值的一个引用副本)

Java
编程语言只有值传递参数-----当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: