A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public boolean equals(Point other) {
  return (this.getX() == other.getX() && this.getY() == other.getY());
}

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
boolean equals(Object obj) ;
必需得是这个格式,你上面的格式是方法重载,不是覆盖!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
可能还需要重写hashCode()方法吧
回复 使用道具 举报
要覆写一个方法时,必须要有相同的参数列表
你的参数是Point 类型,而Object中的参数是Object类型,显然是不同的。定义的这个方法就是以重载的方式存在了。因为此类还是会从Object类中
继承boolean equals(Object obj) 这个方法。
类型强制转换就可以解决问题了
public boolean equals(Object other) {
  Point  p=(Point ) other;
  return (this.getX() == p.getX() && this.getY() == p.getY());
}

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

回复 使用道具 举报
楼上正解  你写的就是equals方法的重载,并不是复写
该用人家标准的形式
public boolean equals(Object obj){//必须的代码}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马