例子如下:
package com.zhiru;class ADemo { private static int id; static { id = 0; System.out.println("id的值为" + id); } { System.out.println("进入实例初始化子句..."); } ADemo() { System.out.println("进入ADemo的构造函数--->" + ADemo.class); }}public class ClassDemo { public static void main(String[] args) { // TODO Auto-generated method stub new ADemo(); }}输出:
id的值为0
进入实例初始化子句... 进入ADemo的构造函数--->class com.zhiru.ADemo从输出可以看出java在new一个对象时的初始化顺序是这样的:
首先初始化静态语句块
然后是实例初始化子句
最后是类的构造器。