It was pretty convenient for me to simply override the method in each enum constant, so I could use it in my outer class. Is this a bad programming style in java because it is actually forbidden?
There is nothing inherently wrong with redefining methods in your enumeration constants. As with any other language construct, misuse is not so bad.
I'm not sure what you mean by “so I could use it in my outer class,” but in general the enumerations should not be very dependent on the outer code. They are intended to describe a fixed set of constant values, and to achieve this requires little or no connection with other types (unlike basic types such as primitives and strings). This puts me as a dubious design for an enum constant for accessing instance level elements of an external type.
source share