This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
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 Murach's Java Servlets and JSP this week in the Servlets 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: 14687

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
It is sorta covered in the JavaRanch Style Guide.
subject: Extending a enum with enum's type
Similar Threads
Where is the values() method documented for Enum?
Restricting Sub-class declaration
enum static methods
calculate time difference b/w two time entry
timespan false?