public class Person implements Comparable<Person>{
private String name;
private int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public int compareTo(Persono) {
int margin = this.name.compareTo(o.name);
return margin == 0 ? this.age - o.age : margin;
}
}
public class Student extends Person /*这里需要再次实现Comparable接口吗?*/{
private int mark;
public Student(String name, int age, int mark) {
super(name, age);
this.mark = mark;
}
//这里没办法覆盖父类的comparaTo方法,因为参数类型不一样
public int compareTo(Studento) {
int margin = this.mark - o.mark;
return margin == 0 ? super.compareTo((Person)o): margin;
}
}