为了账号安全,请及时绑定邮箱和手机立即绑定

为什么最后显示两个对象是相同的

他俩的引用不一样啊,就是地址不同啊,重写的equales的第一个比较的不是两个对象的地址么

正在回答

2 回答

我刚刚也是不懂,我跟你想的一样,重写了不还是要判断内存地址吗。他们内存地址明明并不相同,为什么还说这两个值相同。

后来我发现我忽视了最后一条语句,return true。说明了有两个方法判断他们的对象是否相同:1.判断内存地址  2.地址不同,若类型相同,属性值相同,也算对象相同。

1 回复 有任何疑惑可以回复我~

因为两个对象的属性和类型都相同,且面向Dog类啊

0 回复 有任何疑惑可以回复我~
#1

珺珺乖 提问者

两个对象的地址不同啊?
2017-04-12 回复 有任何疑惑可以回复我~
#2

慕粉192101593 回复 珺珺乖 提问者

你要仔细看,之前输出的是不相同是因为判断的是引用地址,第二次输出相同是因为判断的是数据的值,所以相同
2017-04-12 回复 有任何疑惑可以回复我~
#3

珺珺乖 提问者 回复 慕粉192101593

哦哦,谢谢
2017-04-12 回复 有任何疑惑可以回复我~
#4

慕粉192101593 回复 珺珺乖 提问者

后面判断属性值的时候,equales方法重写过
2017-04-12 回复 有任何疑惑可以回复我~
#5

珺珺乖 提问者 回复 慕粉192101593

嗯嗯,我看到了
2017-04-12 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

为什么最后显示两个对象是相同的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信