黑马程序员技术交流社区
标题:
对象!参数!传递
[打印本页]
作者:
曹思敏
时间:
2013-6-8 19:14
标题:
对象!参数!传递
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
作者:
张歆明
时间:
2013-6-8 19:37
楼主注意:Java中明确说了 只有值传递 没有引用传递
其实 这么理解就可以了 以前说的引用传递其实也是值传递的一种
因为引用变量也是变量 存储在栈内存中 引用变量的值不就是地址值么
如果把引用变量作为参数 传给某个函数的时候 其实 就相当于把这个地址值传给了一个在该函数方法内可见的
临时引用变量
e.g.
class A{
int a =5;
int b =12;
}
class B{
public static void change(A obja){
obja.a =10;
obja.b =22;
}
public static void main(String[] args){
A oA =new A();
System.out.println(oA.a +";;;;"+ oA.b);
change(oA);
System.out.println(oA.a +";;;;"+ oA.b);
}
}
复制代码
打印结果:
D:\BlackHorse_Pro\IO>java B5;;;;1210;;;;22
内存图如下:
1234.jpg
(26.01 KB, 下载次数: 0)
下载附件
2013-6-8 19:37 上传
内存图
作者:
袁梦希
时间:
2013-6-9 14:55
楼主你好 如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2