大家快来啊,Java基础题

来源:百度知道 编辑:UC知道 时间:2024/05/03 06:59:29
下面是几行代码。
1,Object aobj = new Object();
2,Object bobj = new Object();
3,aobj=bobj;
我想问的就是,aobj=bobj;是什么意思,是aobj的引用重新指向bobj的对象了吗?请高手指点,谢了。

除了int,float,long等简单类型外,
Java中“=”符号都只是一种引用传递,而不是值传递。
所以Object bobj = new Object(); 中new Object();
也只是给bobj返回一个引用。
aobj=bobj这句应该就是引用赋值
即aobj和bobj指向同一个对象

首先你要理解引用变量的含义.
引用变量是指向被引用对象,而不是存储了被引用对象.因此两个引用变量之间的赋值实际上是将一个引用变量存储的地址复制给另一个引用变量,从而使2个引用变量指向同一个对象.

具体说
比如Object aobj = new Object();

1.首先Object aobj ;
声明了一个Object类型的引用变量
2.aobj = new Object();
使用new语句创建了一个Object类型的对象,并将对象的内存地址赋给引用变量aobj

首先,我们通过等号将每一句分为前后两部分;
第一句,前半部分新建了名为“aobj”的 Object 型引用;后半部分新建了一个Object型对象;通过等号将后半句的对象赋给aobj引用;
第二句,前半部分新建了名为“bobj”的 Object 型引用;后半部分新建了一个Object型对象;通过等号将后半句的对象赋给bobj引用;
第三句,将引用bobj指向的对象赋给aobj。
此时引用aobj以及bobj指向同一个对象,对他们之中的任何一个所做出的改变也将会影响另一个,并且第一句后半部分生成的Object型对象将在垃圾回收时被销毁(因为没有引用指向它)。

当建立两个对象以后,他们都有自己的引用,也就是自己的变量所存储的地址,
当有语句aobj=bobj;时,就把bobj的引用赋值给了aobj,这样aobj的引用就消失了,现在这两个对象指向了同一个引用

首先你要理解引用变量的含义.
引用变量是指向被引用对象,而不是存储了被引用对象.因此两个引用变量之间的赋值实际上是将一个引用变量存储的地址复制给另一个引用变量,从而使2