7-4 定义学生类覆盖Object中的方法实现Comparable接口
时间: 2023-06-20 19:05:22 浏览: 366
下面是一个简单的学生类示例,覆盖了Object中的toString()方法,实现了Comparable接口的compareTo()方法:
```java
public class Student implements Comparable<Student> {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// 覆盖toString()方法
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
// 实现compareTo()方法
@Override
public int compareTo(Student o) {
if (this.age < o.age) {
return -1;
} else if (this.age > o.age) {
return 1;
} else {
return 0;
}
}
}
```
这个学生类实现了Comparable接口,并且覆盖了Object中的toString()方法,我们可以使用这个类的对象进行比较和输出。在compareTo()方法中,我们按照学生年龄的大小来进行比较,如果这个学生的年龄小于另一个学生的年龄,返回-1;如果这个学生的年龄大于另一个学生的年龄,返回1;如果两个学生的年龄相等,返回0。这样,在使用Collections.sort()等需要比较的操作时,就可以使用这个类的对象进行排序了。
阅读全文