直接在父类重新定义一个equals方法不是更简单?

直接在父类重新定义一个equals方法不是更简单?

这样就不需要先重写再重载也能实现对传入参数的限制,这样在调用equals方法时只要注意是谁的equals方法就可以了.

http://img1.sycdn.imooc.com/climg//59738c030001b39914400900.jpg

http://img1.sycdn.imooc.com/climg//59738be6000109c408460182.jpg

http://img1.sycdn.imooc.com/climg//59738be60001cd2e08110541.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2017-07-22 11:50:05

在父类中重写equals,那里面只能用所有子类共有的属性,也就是父类的属性,所有子类中独有的东西是不能比较的。那这样的equals是没有任何意义的。也就是说同一个父类的任何子类对象都是equals相等的。祝:学习愉快

  • 提问者 LIAFON #1
    我需要的只是比较子类共有的属性. 我的意思是不需要先重写再重载Object的equals方法,直接在父类重新定义一个equals方法这种做法可不可行
    2017-07-23 01:36:38
  • irista23 回复 提问者 LIAFON #2
    如果确定只是比较父类的属性(子类共有的属性),在父类中重写equals()方法是可以的,但不建议这样做,因为equals()方法本身就是object比较方法,重写目的就是用来针对具体对象进行比较的,如果想比较父类的也可以起个类似commonEquals ()另外一个名字便于区分。
    2017-07-23 10:08:18
  • 提问者 LIAFON 回复 irista23 #3
    谢谢.........
    2017-07-23 23:10:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师