Warum nicht erweitern von Enum <E erweitert Enum <E >>

Ich bin über das folgende Problem gestolpert, dass ich diese in Java 1.5 (java.lang package) definierte Klasse nicht erweitern und implementieren kann.

<code>public abstract class Enum<E extends Enum<E>> {...
}..
</code>

Das Problem, das ich habe, ist, meinen eigenen Aufzählungstyp zu verursachen, der unterschiedliche Ordnungswerte hat. Ich möchte es nicht implementieren, indem ich einen anderen Ordinalnamen wie getCode () usw. verwende. Also dachte ich, ich könnte den Weg gehen, um die obige Klasse zu erweitern.

<code>public final class XYZ extends Enum<XYZ> { //Does not work.
  //
  A("A", 1),
  B("B", 7);
  .
}
</code>

Ich weiß, dass ich Folgendes kann:

<code>public enum NEWEnum {
   A(1),
   B(7);

   private int code;
   private NEWEnum(int code) {
     this.code = code;
   }
   public int getCode() {
     return this.code;
   }
}
</code>

Ich würde lieber die üblichen Bezeichnungen in Enums wie ordinal () und name () verwenden.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage