标签:
Java里方法的参数传递方式只有一种:值传递
值传递:当系统开始执行方法时,系统为形参执行初始化,就是把实参变量的值赋给方法的形参变量,方法的操作的并不是实际的实参变量
引用型变量:系统复制的是变量,就是引用地址,并没有复制对象本身
eg.
1 class Value{ 2 public int i=15; 3 } 4 public class Test{ 5 public static void main(String argv[]){ 6 Test t=new Test(); 7 t.first(); 8 } 9 public void first(){ 10 int i=5; 11 Value v=new Value(); 12 v.i=25; 13 second(v.i); 14 System.out.println(v.i); 15 } 16 public void second(Value v,int i){ 17 i=0; 18 v.i=20; 19 Value val=new Value(); 20 v=val; 21 System.out.println(v.i+""+i); 22 } 23 }
结果:15 0 20
注意:second中的v已经不是first里面的v了,所以换成tmp啥的看就更清楚了
标签:
原文地址:http://www.cnblogs.com/luluqiao/p/5478345.html