Hacker News new | ask | show | jobs
by lambdom 5954 days ago
Is it me or in both of the examples there is an extra { ? Is this something about Java I don't know about?
2 comments

The first { opens the body of the anonymous inner class.

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.

No, it isn't. The first { encloses the class and the second encloses the "anonymous constructor" or whatever is called. It's code executed at object creation, even before the "named" constructor.