=>一般认为,java内的传递都是值传递。
=>值传递是对基本型变量而言的,传递的是该变量的副本,改变副本不影响原变量。
=>引用传递一般是对对象变量而言的,传递的是该对象地址的一个副本,并不是原对象的本身,所以对引用对象进行操作会同时改变原对象。
代码测试:
public class ValuePassed {
public int value;
public ValuePassed(int value) {
this.value = value;
}
public static void method(String a,ValuePassed b ,ValuePassed c){
a = "www.jy.com";
b.value = 777;
c = new ValuePassed(666);
}
public static void main(String[] args) {
String s = "2468";
ValuePassed bb = new ValuePassed(70);
ValuePassed cc = new ValuePassed(60);
method(s,bb,cc);
System.out.println("s="+s);
System.out.println("bb="+bb.value);
System.out.println("cc="+cc.value);
}
}
结果: