参数传递

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

  

 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;code

       a2.value = 0;对象

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

 

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

相关文章
相关标签/搜索