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
更多精彩请关注语法