定义一个学生类Student,成员变量包括:姓名,生日,学号,学校;重写方法toString,equals,hashCode;实现接口Comparable,按照学号大小进行比较;定义构造方法。
时间: 2023-06-20 18:05:17 浏览: 362
下面是一个示例代码,实现了上述要求:
```java
import java.util.Objects;
public class Student implements Comparable<Student> {
private String name;
private String birthday;
private String studentNo;
private String school;
public Student(String name, String birthday, String studentNo, String school) {
this.name = name;
this.birthday = birthday;
this.studentNo = studentNo;
this.school = school;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", birthday='" + birthday + '\'' +
", studentNo='" + studentNo + '\'' +
", school='" + school + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Student)) return false;
Student student = (Student) o;
return Objects.equals(studentNo, student.studentNo);
}
@Override
public int hashCode() {
return Objects.hash(studentNo);
}
@Override
public int compareTo(Student o) {
return this.studentNo.compareTo(o.studentNo);
}
}
```
在上面的代码中,我们定义了一个 `Student` 类,并定义了其成员变量和相应的构造方法。重写了 `toString`、`equals` 和 `hashCode` 方法,其中 `equals` 方法比较了学号是否相等,`hashCode` 方法使用了学号作为哈希值。同时实现了 `Comparable` 接口,按照学号大小进行比较。这样,我们就可以使用 `Student` 类来创建学生对象,并对学生对象进行比较和相等性判断。
阅读全文