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

java入门第三季中6-1 equals()重写的问题

重写equals()的函数名是equals,但是在重写的代码块中又调用了equals(),就是this.name.equals(obj.name); 这样 为什么没问题 总感觉好像不对

正在回答

3 回答

当前类继承的而是Object类的equals()方法

Object类的 boolean equals(Object obj) 方法:只有当obj不为空且this==obj(即两个引用指向同一对象)时才返回true

重写equals()方法时,语句中调用的boolean equals(Object obj)方法是String类中的equals方法,当当obj不为空且this和obj指向的字符串相同时,此方法返回true


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

equals()方法是父类Object类的方法,子类是可以调用或重写的

一个是属性name调用了equals()方法

另一个是在Course类中重写了equals()方法,这里重写的equals()方法,并未对属性name调用的equals()方法产生影响,两者互补相连

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

大白_baymax 提问者

感谢回复哈
2017-03-12 回复 有任何疑惑可以回复我~
#2

慕瓜8829151

if(this==obj){ return true; 比较的是元素的位置吗??前辈们求教
2017-03-12 回复 有任何疑惑可以回复我~
#3

慕粉学渣粉 回复 慕瓜8829151

bushi
2017-03-15 回复 有任何疑惑可以回复我~
#4

慕粉学渣粉 回复 慕瓜8829151

就是判断对象的
2017-03-15 回复 有任何疑惑可以回复我~
#5

慕哥7677898

this.name.equals(obj.name)中的equals也是调用父类object的方法吧?
2017-04-13 回复 有任何疑惑可以回复我~
查看2条回复

equals就是用来比较两个对象对应的内容是否相同的啊

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

大白_baymax 提问者

感谢回复
2017-03-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

java入门第三季中6-1 equals()重写的问题

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