【发布时间】:2014-01-19 15:50:35
【问题描述】:
我有一个问题。我有下一个代码示例:
class Test{
static void change(String s){
s = "newString";
}
public static void main(String args[]){
String s = "String";
change(s);
System.out.print(s);
}
}
我看到结果是“字符串”。 现在我有以下代码:
class A{
int a;
static void change(A a){
a.a = 10;
}
public static void main(String[] args){
A a = new A();
a.a = 5;
change(a);
System.out.print(a.a);
}
}
这以 10 结束。我不明白为什么?这两个不是参考吗?为什么不是第一个代码输出:“newString”?
【问题讨论】: