Some of the Spring Java interfaces contain constants that are declared in the interface iself and initialized using anonymous class that implements that same interface. You can find one example of this construct in ClassFilter interface:
JLCA will convert this into an interface, class that implements that interface and a struct that contains the constant TRUE itself. After class and struct names are changed manually, JLCS generated code would look like this:
There is really no need for the struct in this case. What's even worse, using this approach we would have to create a new class for each constant that we would like to define.
Better solution for this construct is this:
As you can see, class itself holds singleton instance of each constant, and because constants are defined using constructor arguments it is fairly easy to add another constant if we wish.