The instance data member is initialized using the Instance Initializer block. Every time an object belonging to the class is created, it runs.
Although the instance variable can be initialized directly, additional operations may be carried out as part of the initialization process in the instance initializer block.
// Java example of instance initializer block
class Car{ int Speed ; Car(){ System.out.println("Max speed of Car : "+Speed); } {Speed=140;} //initialize variable } class Main{ public static void main(String args[]){ Car car=new Car(); } }
Output:
Max speed of Car : 140
// Java example of instance initializer block with constructor
class Main{ Main(){ System.out.println("constructor "); } {System.out.println("Instance initializer block");} public static void main(String args[]){ Main b1=new Main(); Main b2=new Main(); } }
Output:
Instance initializer block
constructor
Instance initializer block
constructor
The Java compiler copies the instance initializer block code into each constructor.
// Java example of instance initializer block
class A{ A(){ System.out.println("parent class constructor"); } } class B extends A{ B(){ super(); System.out.println("child class constructor"); } {System.out.println("instance initializer block");} } class Main{ public static void main(String args[]){ B b=new B(); } }
Output:
parent class constructor
child class constructor
Instance initializer block
Post your comment