例子如下:
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一个对象时的初始化顺序是这样的:
首先初始化静态语句块
然后是实例初始化子句
最后是类的构造器。