When you create an instance of a class, constructor is called to initialize the instance variables. An alternative to using a constructor to initialize instance variable is to use initializer block in Java. Initializer block is always executed when an instance of the class is created.
General form of Initializer block in Java
{ // whatever code is needed for initialization // goes here }
How to use initializer block in Java
The Java compiler copies initializer blocks into every constructor. Therefore, this approach can be used to share a block of code if you have overloaded constructors in your class. Putting the common code in an initializer block ensures that that piece of code is always executed irrespective of the constructor called.
Initializer block Java example
public class MainClass { //instance initializer block { System.out.println("Instance initializer block, this block is always executed"); } MainClass(){ System.out.println("In no-arg constructor"); } MainClass(int i){ System.out.println("In single argument constructor-" + i); } public static void main(String[] args) { MainClass obj1 = new MainClass(); MainClass obj2 = new MainClass(10); } }Output
Instance initializer block, this block is always executed In no-arg constructor Instance initializer block, this block is always executed In single argument constructor-10
As you can see whether no-arg constructor is called or the constructor with single argument is called for initialization of the object, initializer block is always executed.
That's all for the topic Initializer Block in Java. If something is missing or you have something to share about the topic please write a comment.
You may also like
- Object Cloning in Java Using clone() Method
- Static Block in Java
- How to Create Custom Exception Class in Java
- Synchronized Vs ReentrantLock in Java
- Can we Override start() Method in Java
- Java Program to Check Whether Number Prime or Not
- Spring @ComponentScan Annotation
- How to Create Bootable USB Drive For Installing Ubuntu
No comments:
Post a Comment