Is it me or in both of the examples there is an extra { ? Is this something about Java I don't know about?
The second { starts an instance initialization block, which runs on each object when it is constructed - not sure if it's before or after the constructor - gonna guess before!
It's useful in this case as anonymous inner classes can't define constructors.