This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one 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 The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Extending a enum with enum Watch "Extending a enum with enum New topic
Author

Extending a enum with enum's type

Mandar Joshi
Greenhorn

Joined: Nov 21, 2007
Posts: 5

Hi,

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>

Thanks,
Mandar
Christophe Verré
Sheriff

Joined: Nov 24, 2005
Posts: 14687
    
  16

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