先看一个程序
public class Test {
public static void parameter(){
String param="1";
StringBuffer parab=new StringBuffer("a");
setParameter(param);
setParameterb(parab);
System.out.println(param);
System.out.println(parab);
}
public static void setParameter(String para){
para=para+"2";
}
public static void setParameterb(StringBuffer parab){
parab.append("b");
}
public static void main(String[] args) {
Test.parameter();
}
}
能猜到结果么,是这样么
1
ab
是的话,说明你明白参数传递的本质。
说明两点,
1 java里面只有值传递
记住引用传递是改变参数的值,而在这个程序里面,参数的值(对象的引用)始终没有改变
2String的改变,将新建一个对象,他不能像StringBuffer那样改变parab,在方法setParameter中,para已经
不是param的引用了。