Home > Java > Initialization Blocks in Java

Initialization Blocks in Java

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


// 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

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



  1. sahar
    July 1st, 2012 at 13:33 | #1

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

  2. Neel
    June 17th, 2013 at 07:24 | #2

    Very crisp & to the point…thx a zillion

  1. No trackbacks yet.