Java實例初始化程序是在執行構造函數代碼以前執行的代碼塊。每當咱們建立一個新對象時,這些初始化程序就會運行。
java
用花括號建立實例初始化程序塊。對象初始化語句寫在括號內。ide
public class DemoClass { //This is initializer block 1 { //statements } //This is initializer block 2 { //statements } }
實例初始化器具備如下功能。函數
super()
,若是咱們未在子類的構造函數中顯式提供第一個語句,則Java會插入父類的默認構造函數。基於以上給出的功能,讓咱們概述一下對象的實例初始化如何進行。code
讓咱們快速地看一個演示以上理論的例子。
ParentClass.javaget
public class ParentClass { public ParentClass() { System.out.println("In ParentClass Constructor"); } //Instance Initializer { System.out.println("In ParentClass Instance Initializer"); } }
ChildClass.javait
public class ChildClass extends ParentClass { public ChildClass() { super(); //If not provided, JVM will insert it System.out.println("In ChildClass Constructor"); } //Instance Initializer 1 { System.out.println("In ChildClass Instance Initializer 1"); } //Instance Initializer 2 { System.out.println("In ChildClass Instance Initializer 2"); } }
Main.javaclass
public class Main { public static void main(String[] args) { ChildClass childObj = new ChildClass(); } }
程序輸出構造函數
In ParentClass Instance Initializer In ParentClass Constructor In ChildClass Instance Initializer 1 In ChildClass Instance Initializer 2 In ChildClass Constructor
更多精彩請關注語法