主函数
public class Main {
public static void main(String[] args) {
Test1 a = new Test1();
a.run(a.s, a.c);
System.out.println(a.s + " " + "and" + " " + a.c[0]);
}
}
类
public class Test1 {
String s = "ok";
char[] c = {'a', 'b', 'c'};
public void run(String s, char[] c) {
s = "no";
c[0] = 'g';
}
}
输出结果: ok and g
传入2个参数(字符串,char数组)
执行run()方法后,字符串的值没有被覆盖,但是char[]的元素被覆盖了
我的理解就是String是final修饰的,值是不可以改变,而char的值是可以改变的,所以值被覆盖了。
如果理解不对,可以留言,谢谢!