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

来源:6-1 学生选课---判断 List 中课程是否存在

大白_baymax

2017-03-03 01:01

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

写回答 关注

3回答

  • bright_future4099111
    2017-09-01 17:10:14

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

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

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


  • for__what
    2017-03-07 11:12:17

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

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

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

    慕哥7677...

    this.name.equals(obj.name)中的equals也是调用父类object的方法吧?

    2017-04-13 20:06:41

    共 5 条回复 >

  • 慕田峪4801677
    2017-03-03 17:15:51

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

    大白_bay...

    感谢回复

    2017-03-12 00:43:08

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题