参数传递

  对于参数传递来说,传送的都是变量的值。对于基本类型来说,传送的是变量的数值(常规的值传递);对于引用类型来说,传送的是引用类型变量中所保存的地址(指向所引用的对象)。

  

 1 public class test {
 2     public int value = 0;
 3     public static void main(String [] args){
 4         test a1 = new test();
 5         test a2 = new test();
 6         change (a1,a2);
 7         System.out.println("a1.value="+ a1.value);
 8         System.out.println("a2.value="+a2.value);
 9         
10     }
11     public static void change(test test1,test test2){
12         test1.value = 2;
13         test2 = new test();
14         test2.value = 3;
15     }
16 }

 结果a1.value = 2;

       a2.value = 0;

main()调用chane方法后,a1将所引用的对象的地址传送给test1,此时,test1指向与a1相同的对象;a2将所引用的对象的地址传送给test2,此时,test2指向与a2相同的对象

 

当test2引用新的test实例时,test2指向新的对象,与a2不再指向同一个对象,对test2的操作也不再影响a2.

posted @ 2014-08-16 10:44  Phil Li  阅读(114)  评论(0)    收藏  举报