This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
They're static final members of the Locale class, which are also Locale objects. That's how you used to get a similar effect to an enum before enums were introduced to the language, but in this case an enum wouldn't be any good because we also need to be able to create new Locale objects.
The source code looks something like this:
(with the object being created by the createConstant() method)