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。
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。
相关文章推荐
- java中的值传递和引用传递问题
- Java参数传递过程中 传形参和传引用问题讨论
- Java中传参的值传递和引用传递问题(转)
- 安卓中碰到的JAVA引用传递问题
- JAVA引用传递问题
- java中关于参数传递问题的解释(传值与传引用的若干问题的解释)
- Java方法中引用类型的形参传递问题
- java参数传递。传递值还是引用问题
- JAVA 参数传递 是值传递 还是引用传递的问题。
- Java初学者常见问题_字符串序列化_可变不可变_传递(值,引用)
- java的值传递和引用传递问题
- 关于Java中按值传递和按引用传递的问题详解
- 关于JAVA中参数传递问题的总结(按值传递和引用传递)
- Java传参的值传递和引用传递问题(转)
- Java值传递和引用传递的问题
- JAVA中参数传递问题的总结(按值传递和引用传递)
- 关于java中是引用传递还是值传递的问题!!!经常在笔试中遇到,今天终于弄明白了!
- 【Stackoverflow好问题】Java是按值传递还是按引用传递
- java的"值传递"和"引用传递"的问题
- java程序中参数值传递与引用传递问题