假設我有一個抽象超命名的定義是這樣的:排序的超類是超類的子類的對象列表
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
你想如何比較兩個教練? –