关于对象与references

chenhonghong 2008-04-13 01:00:33
对象与references这两者之间到底是什么关系啊? 最近书上总是提到 不懂啊
public class aaa {
int c=1;
public static void main(String[] args) {
aaa a1=new aaa();
aaa a2=new aaa();
System.out.println(a1 == a2);
System.out.println(a1 != a2);

}
}
以上这种程序的输出结果却是 false true;难以理解
...全文
48 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
PQjava 2008-04-13
  • 打赏
  • 举报
回复
唉,都让大伙说完了,那就帮忙顶一下罗。hoho
montao 2008-04-13
  • 打赏
  • 举报
回复

== 和 != 是判断两个引用变量之间是否引用的是同一对象!

equals() 对比的是他们的值是否相等!!
montao 2008-04-13
  • 打赏
  • 举报
回复

楼上的理解比较经典 呵呵 !!!
老紫竹 2008-04-13
  • 打赏
  • 举报
回复
references = 纸
Object = 房子


纸上写着房子的地址。想用房子,必须先找到纸上写的地址。

当然,纸上可以擦掉前一个地址,写另一个房子的地址。
后果:前一个房子就再也找不到了,因为没有纸记录他的地址,然后被老天给拆除了!
aking21alinjuju 2008-04-13
  • 打赏
  • 举报
回复
A a = new A();
a是new A()的引用
new A()在内存中分配了空间,也就是定义了个对象
如理解有误,请下楼指正
xiaomaha 2008-04-13
  • 打赏
  • 举报
回复
第一个new aaa()在内存堆中分配了一个空间!
第二个new aaa()又在内存堆中分配了一个空间!

a1 a2分别是在栈中分配了2个类型为aaa 变量名 ,a1 a2分别指向不同对象```a1 a2 保存地址不同所以答案就是
false true

记住:只要new 出来就会分配一个空间

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧