This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
The code in a block is an instance initializer block. It is executed each time an instance of the class is created. You can have any number of instance initializers. Instance initializers are executed after superclass construction but before the constructor of the current class is executed. Otherwise, they are executed in top-down declaration order. Contrast with the idea of a static initializer block, which is executed when a class is loaded. A static initializer block looks the same as an instance initializer block except it is preceded with the word static. One significant use for instance initialization blocks is to allow for initialization of classes that can't have constructors--anonymous inner classes. -Jeff-