一:String类型和int等基本类型是按值传递的
public class Transfer {
public static void main(String[] args) {
Transfer tf = new Transfer();
String a = new String("111");//String a = "111"也是一样
tf.test(a);
System.out.println("实际值:" + a);
}
public void test(String a){
a = "22";
System.out.println("方法值:" + a);
}
}
输出分别为:22
111
二:数组类型和引用哦类型的是按引用传递的
直接把引用传给方法参数改变里面的值可以真正改变引用本身的内容
public class Transfer {
public static void main(String[] args) {
Transfer tf = new Transfer();
int[] a = {1,2,3,4,5};
tf.test(a);
System.out.println("方法值:" + a[1]);
}
public void test(int[] a){
a[1] = 9;
System.out.println("方法值:" + a[1]);
}
}
输出分别为:9
9