Static block in java

In this post, we will see about how to implement static block in java.

Here are some important points about static block in java.

  1. Static block is used for static initializations of a class
  2. Static block is executed only once when either you create an object of the class or access static member of the class
  3. Static block is executed before constructor of object is called.

Syntax

Example

Let’s see with the help of example.
Create a class App.java

Create a Main class named StaticBlockMain.java

When you run above program, you will get below output:

Static block is called
100

As you can see, when we accessed static variable of class, static block was called.
Let’s see another example and change content of StaticBlockMain.java as below.

Output:

Static block is called
Constructor is called
Static variable: 100
Instance variable: 300

As you can see, static block is called before constructor of object is called.
You can not use instance variable in static block.
This is similar to static method, you can not use instance variable in static block otherwise you will get compilation error with Cannot make a static reference to the non-static field b.

Use multiple static blocks

You can use multiple static blocks in class and they will called from top to down.

Let’s understand with the help of example.

Create main class StaticBlockMain.java

Output:

Static block 1 is called
Static block 2 is called
Static block 3 is called
Static variable 1: 100
Static variable 1: 200
Static variable 1: 300

When we first accessed static variable App.a,all static blocks were called in top to down sequence.
That’s all about static block in java.

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *