java 中对象赋值问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中对象赋值问题相关的知识,希望对你有一定的参考价值。

class ValHold public int i= 10; public class Ob public static void main(String[ ] args) Ob o = new Ob(); o.amethod(); public void amethod () int i = 99; ValHold v = new ValHold (); v.i= 30; another (v,i); System.out.println(v.i); public void another(ValHold va, int i) i = 0; va.i = 20; ValHold vh = new ValHold (); va = vh; System.out.print(va.i+" "+i+" "); 输出为10 0 20 我对20 有些疑惑,请高手指教,多谢!

参考技术A 刚重测了一下.确实是这样.下面是给出的答案.绝对正确.我现在也搞懂这个问题了...
因为在java中一个对象做为参数传递给另一个方法使用.传的是对象的引用,而传送的不是另一个新的对象.所以他的修改要影响前面的对象

以上是关于java 中对象赋值问题的主要内容,如果未能解决你的问题,请参考以下文章

java 中对象赋值 是浅拷贝还是深层拷贝

请问java中怎样将Integer类型的对象赋值给int

javaScript 中将一个 对象 赋值给 另一个 的问题

Java:请教关于String对象的重新赋值

java 怎么给set赋值

在Java中,如何返回对对象的引用,以便可以使用赋值运算符修改对象