假设我有一个抽象超命名的定义是这样的:排序的超类是超类的子类的对象列表
public abstract class Member implements Comparable<Member>
然后,我有Member
两个子类,定义如下:
public class Coach extends Member
public class Player extends Member
然后,我有一个Member
的列表,这意味着它包含Coach
和Player
。
我需要对这个列表进行排序,其中教练总是排在第一位,然后按照身份编号排序。
我需要实施compareTo
方法来做到这一点。但是我该如何继续,因为知道我无法在超类Member
中实现该方法,因为标识号是Player
的属性,Coach
没有它?
我希望我已经明确了这个问题。
正如你所说的,在'Member'上编写'compareTo()'方法来排序*子类*是不可能的。你正试图写一个错误的设计。为了比较它们,你需要处理一个共同的领域。 – Lucio
你想如何比较两个教练? –