Dlaczego nie rozszerzyć z Enum <E rozszerza Enum <E>>

Natknąłem się na następujący problem, że nie mogę rozszerzyć i zaimplementować z tej klasy, która jest zdefiniowana w Javie 1.5 (pakiet java.lang)

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

Mam problem z utworzeniem własnego typu wyliczeniowego, który ma różne wartości porządkowe. Nie chcę go implementować przy użyciu innej nazwy porządkowej, takiej jak getCode () itd. Pomyślałem więc, że uda mi się rozszerzyć powyższą klasę.

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

Wiem, że mogę wykonać następujące czynności:

<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>

Wolałbym mieć zwykłe nazwy w Enum, jak ordinal () i name ().

questionAnswers(5)

yourAnswerToTheQuestion