Advertisement

Instance Initializer Block in Java

Instance Initializer Block in Java Instance initializer block
===================================
Instance Initializer block is used to initialize the instance data member/member variable.
It run each time when object of the class is created.

The initialization of the instance variable can be done directly but there can be
performed extra operations while initializing the instance variable in the instance initializer block.



Que) What is the use of instance initializer block while we can directly assign a value in
instance data member? For example:
----------------------------------------------------------------------------------------------
class Bike{
int speed=100;
}


Why use instance initializer block?
=================================================================================================
Suppose I have to perform some operations while assigning value to instance data member
e.g. a for loop to fill a complex array or error handling etc.


There are three places in java where you can perform operations:
======================================================
method
constructor
block


What is invoked first, instance initializer block or constructor?
======================================================
Instance intializer block is invoked at the time of object creation. The java compiler copies the
instance initializer block in the constructor after the first statement super().

So firstly, the constructor is invoked. Let's understand it by the figure given below:
Note: The java compiler copies the code of instance initializer block in every constructor.

Note:
======================================================
1. The instance initializer block is invoked after the parent class constructor is invoked
(i.e. after super() constructor call).
2. The instance initializer block comes in the order in which they appear.

instance initializer block,block,java,class,

Post a Comment

0 Comments