基本类型:形式参数的改变不影响实际参数
引用类型:引用类型的改变直接影响实际参数
String作为参数传递效果是和基本类型作为参数传递效果一样的。
StingBuffer作为参数传递时,在方法中直接赋值不改变实际结果,如果是调用方法赋值结果会发生变化。
package test03;
public class Canshuchuandi {
public static void main(String[] args) {
String s1=new String("zf");
String s2=new String("liu");
System.out.println(s1+" "+s2);
StringBuffer b1=new StringBuffer("zf");
StringBuffer b2=new StringBuffer("liu");
System.out.println(b1+" "+b2);
change(s1,s2);
change(b1,b2);
System.out.println(s1+" "+s2);
System.out.println(b1+" "+b2);
}
public static void change(String s1, String s2) {
s1=s2;
//s1=liu s2=liu
s2=s1+s2;
//s2=liuliu s1=liu
//String效果和基本参数类型效果相同,并没有将参数传递出去
}
public static void change(StringBuffer b1, StringBuffer b2) {
b1=b2;
// b1=liu b2=liu
//直接赋值参数也不会传递出去
b2=b2.append(b1);
//b1=liu b2=liuliu
//通过调用方法参数可以传递出去
}
}
输出结果: