问答详情
源自:6-1 学生选课---判断 List 中课程是否存在

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

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

提问者:大白_baymax 2017-03-03 01:01

个回答

  • 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()方法产生影响,两者互补相连

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

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