重写父类的equals()方法
时间: 2023-11-01 11:08:37 浏览: 119
重写equals方法
重写父类的equals()方法是在子类中重新定义equals()方法,以覆盖父类中的equals()方法。在重写equals()方法时,需要注意以下几点:
1. 方法签名必须与父类中的equals()方法相同,即相同的方法名、返回类型和参数列表。
2. 在重写equals()方法时,需要比较对象的某些属性是否相等,以确定两个对象是否相等。通常会比较对象的各个属性,例如学号、姓名、年龄等。
3. 重写equals()方法时,可以使用super关键字引用父类的equals()方法,以便在子类中调用父类的equals()方法。
4. 子类中重写equals()方法时,需要确保权限不小于父类的equals()方法。
以下是一个重写equals()方法的示例代码,假设Student类继承自Object类,并且两个Student对象的学号相同则判定为同一对象:
```java
class Student {
int id;
String name;
int age;
// 构造函数和其他方法省略
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Student student = (Student) obj;
return id == student.id;
}
}
```
阅读全文