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.

Code Snippet:

class InitDemo
{

static int y;
int x;
//Static Initialization Block
static
{

y=10;

}
// Instance Initialisation Block
{

x=20;

}

}

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
static
{

System.out.println(“Hello, World“);
System.exit(0);

}

}

Tagged with:
 
About The Author

Mohamed Sanaulla

2 Responses to Initialization Blocks in Java

  1. sahar says:

    Thanks for sharing your information!
    It’s clear and helpful

  2. Neel says:

    Very crisp & to the point…thx a zillion

Leave a Reply