Extending a enum with enum's type
posted 5 years ago
All enum classes implicitly extend the Enum class. The Enum class signature is : Class Enum<E extends Enum<E>>. When you declare an enum class like "public enum TimeUnit", it implicitly becomes "public enum TimeUnit extends Enum<TimeUnit>". This is discribed here : The direct superclass of an enum type named E is Enum<E>.