Java类里静态快,构造块,构造函数的顺序
静态块:用static申明,JVM加载类时执行,仅执行一次
构造块:类中直接用{}定义,每一次创建对象时执行
构造函数:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法
public class Study_static {
public static char text = 'aaa'; //静态对象
public Study_static(){ //构造函数
System.out.println('ccc');
}
{ //构造块
System.out.println('bbb');
}
static{ //静态块
System.out.println(text);
}
public static void main(String[] args){
Study_static a = new Study_static();
}
执行结果为:
aaa
bbb
ccc
执行顺序为:静态块>main()>构造块>构造方法
所以先执行静态块,再tudy_static a = new Study_static();该语句创建对象,则又会调用构造块,输出构造块,再执行构造函数。
然而,这里的静态块,并不是仅仅静态块,而是静态域,包含了静态变量,静态块,这两者的执行顺序就是按照位置顺序进行。