设计Student类,定义sid变量表示学号,重写equals()方法,判断进行比较的两个学生对象学号是否相同,相同即为同一个学生,否则不是。为了呈现程序的健壮性,比较时请加入类型判断。
时间: 2024-02-26 18:58:01 浏览: 156
好的,下面是Student类的代码实现:
```java
public class Student {
private String sid; // 学号
public Student(String sid) {
this.sid = sid;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj.getClass() != this.getClass()) {
return false;
}
Student other = (Student) obj;
return this.sid.equals(other.getSid());
}
}
```
在这个类中,我们定义了一个私有的 `sid` 变量表示学号,并且提供了相应的 getter 和 setter 方法。重点在于 `equals()` 方法的实现,我们首先判断传入的对象是否为 `null`,如果是则返回 `false`。接着判断传入的对象是否与当前对象的类型相同,如果不同则返回 `false`。最后将传入的对象强制转换成 `Student` 类型,比较两个学生对象的学号是否相同,如果相同则返回 `true`,否则返回 `false`。
这样设计可以确保比较时不会出现类型错误,保证了程序的健壮性。
阅读全文