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“);



2 thoughts on “Initialization Blocks in Java”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s