Apart from methods and constructors, Initialization Blocks are the third place in a Java Program where operations can be performed. Initialization Blocks come in two flavours:
- Static Initialization Blocks: Runs first when the class is first loaded. Declared by using the keyword “Static”
- Instance Initialization Blocks: Runs every time when the instance of the class is created.
static int y;
//Static Initialization Block
// Instance Initialisation Block
Instance initialization block code runs right after the call to super() in a constructor, in other words, after all super constructors have run. The order in which initialization blocks appear in a class matters. If a class has more than one they all run in the order they appear in the class file.
Some rules to remember:
- Initialization blocks execute in the order they appear.
- Static Initialization blocks run once when the class is first loaded.
- Instance Initialization blocks run every time a class instance is created.
- Instance Initialization blocks run after the constructor’s call to super().
“Hello World” program in Java without ever using a main method-
public class Hello
//Static Initialisation Block