public class TestString{
public static void main(String[] args) {
String a = "a";
String b = "b";
String c = "c";
test( a, b,c);
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
public static void test(String a,String b,String c) {
a=b;
b="d";
c="b";
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
结果如下
b
d
b
a
b
c
原理如下:
main中
a(main)指向内存地址a*,a指向字符串常量池中的字符串"a"
作为形参传递到test中,
test创建对象a(test)指向a(test) ,值与a*(main),
当a(test)改变时,
graph LR
思维导图--> 第一部分
第一部分-->1.1小节
第一部分-->1.2小节
思维导图--> 第二部分
第二部分-->2.2小节
思维导图--> 第三部分
第三部分--> 3.1小节
思维导图--> 若干