讨论下
昨天遇到一个java问题代码如下:class Test{
public void test01() {
String name = "zhangsan";
change(name);
System.out.println("name:" + name);
}
public void change(String name){
name = "Lisi"
}
}
最后的结果是zhangsan
谁能解释下为什么,还有怎么能让它输出Lisi:o :L :L
第一:
name不是Test的成员变量
public void change(String name){
name = "Lisi"
}
这个name不是change(name);
这个只是一个普通传值的过程[code]
class TestT {
String name;
public void test01() {
name = "zhangsan";
change();
System.out.println("name:" + name);
}
public void change(){
name = "Lisi";
}
}
[/code] :D 呵呵。 [code]change(name);
System.out.println("name:" + name);[/code]
YC34YC个人认为 这个里面没有提到要打印change的值,只能算是一个复制语句,没有实质性的操作。就像2楼所说的,如果你想要答应出 change的值,你直接调用那个你复制后的方法就可以了
YC35YC不知道我这1年不编程的人说的是否正确,忘达人纠正 呵呵
页:
[1]