java中,向方法传递对象引用变量是按值传递,其中有修改变量和修改对象的问题,

请问修改对象和修改变量的区别是什么?比如下面这个代码voidbar(){Foof=newFoo();doStuff(f);}voiddoStuff(Foog){g.set... 请问修改对象和修改变量的区别是什么?
比如下面这个代码
void bar(){
Foo f = new Foo();
doStuff (f);
}
void doStuff (Foo g){
g.setName ("Boo");
g = new Foo();
}
为什么会对g赋值,而不会重新对f赋值呢?
展开
 我来答
Apple林
2015-07-15 · TA获得超过2093个赞
知道小有建树答主
回答量:895
采纳率:66%
帮助的人:567万
展开全部
传值传引用都不够准确,可以理解成传引用变量的副本值。引用变量分为字面值引用变量(即基本数据类型引用变量)和对象引用变量 。 详情需要了解数据类型使用机制和堆栈的概念:http://www.cnblogs.com/alexlo/archive/2013/02/21/2920209.html
  对象引用变量:即普通java对象的引用变量 ,如 String a = "abc" , a就是对象引用变量。java 是不能直接操作对象的,只能通过对“对象引用的操作”来操作对象。而对象的引用的表示就是对象变量。可以多个对象引用变量指向同一个对象。
  字面值引用变量:即普通数据类型的引用变量 ,如 int b = 1 , b就是字面值引用变量。可以有多个字面值引用变量指向同一字面值,但其中一个引用修改字面值,不会影响另一个引用字面值,这点要与对象引用区别开。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式