我意识到这是一个常见问题,但在这里..
我试图写这个来弄清楚Java如何处理参数传递等等..
public class CallByValue {
int key;
public void changeValue(CallByValue c){
System.out.println(c);
c.key=7;
}
public void changeValue(int x){
x=0;
}
public static void main(String[] args){
CallByValue c=new CallByValue();
c.key=5;
System.out.println(c);
c.changeValue(c);
System.out.println(c.key);
int x=8;
c.changeValue(x);
System.out.println(x);
}
}
在这里,我可以更改传递给方法的对象内的基元的值,但不能更改传递给方法的基元的值。有什么原因吗。