您的位置:首页 > 编程语言 > Java开发

java值 与引用的传递问题

2014-07-23 12:06 190 查看
首先通过代码看一下,

public class Ren {

private int age;

public Ren(int age) {

this.age = age;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

public class Test20140723 {

public static void main(String[] args) {

Ren r1 = new Ren(15);

new Test20140723().change(r1);

System.out.println(r1.getAge());

}

private void change(Ren r1) {

Ren r2 = new Ren(10);

r1 = r2;

System.out.println("---" + r1.getAge());

}

}

输出的结果是什么?

是:

---10

15

说明change没有改变外面r1的值,我们来画个图加深一下理解。



在传入change方法的时候 相当于cope了一个r1指向15,然后又new了一个r2指向10,然后r1=r2把change方法里面的r1指向了10,但是原来在main方法里面的r1还是指向15。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: