The constructor for an enum type must be package-private or private access. It automatically creates the constants that are defined at the beginning of the enum body. You cannot invoke an enum constructor yourself.
That means that you can NEVER invoke an enum constructor directly. The enum constructor is invoked automatcally.
For example EAST("HELLO") invokes the Direction's constructor. You cannot use new to create a new Direction.
SCJP 5.0 | SCWCD 1.4
There's a way to do it better - find it. -Edison. A better tiny ad: