my dog learned polymorphism
The moose likes OO, Patterns, UML and Refactoring and the fly likes Extending a enum with enum's type Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Extending a enum with enum Watch "Extending a enum with enum New topic

Extending a enum with enum's type

Mandar Joshi

Joined: Nov 21, 2007
Posts: 5


I was reading the javadocs of TimeUnit class and i am perplexed as to what design benefits we get from extending the enum class with a class that is generic type of enum like below :

java.util.concurrent.TimeUnit extends java.lang.Enum<TimeUnit>

Christophe Verré

Joined: Nov 24, 2005
Posts: 14688

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

[My Blog]
All roads lead to JavaRanch
I agree. Here's the link:
subject: Extending a enum with enum's type
It's not a secret anymore!