谁能给我解释解释原因 啊

来源:百度知道 编辑:UC知道 时间:2024/05/11 00:29:11
1、public class Test {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}

这个程序的结果是 1234,但谁能给我解释一下原因啊,没多少分数哈,就给20吧

这个我会~~o(∩_∩)o...
你那个函数是值传递的
即运行时内存开一块空间,将str的值传过去,而不是地址。相当于是str的一个拷贝,你的 changeStr函数只是改变了那个拷贝,而没有改变原来的那个。
不知道满不满意??

函数值传递不改变实参的值!

函数值传递不改变实参的值!你可以通过引用调用就可以改变多个参数的值了,形式为int add(int& a,int& b);