在Java中初始化变量时,首先执行静态变量的声明,然后执行静态初始化块的执行语句,然后声明非静态的变量,然后执行初始化块的执行语句,最后执行构造器中的初始化语句。
下面通过代码演示一下:
public class TextDemo {
private String name = "aa";
private String sex = "ss";
private static int a = 1;
TextDemo(){
System.out.println("这里是构造函数");
System.out.println(name);
}
{
System.out.println("这里是初始化块");
System.out.println(sex);
}
static {
System.out.println(a);
System.out.println("这里是静态初始化块");
}
public static void main(String[] args) {
TextDemo td = new TextDemo();
}
}
结果:
1
这里是静态初始化块
这里是初始化块
ss
这里是构造函数
aa