public class 各种代码块的调用顺序 {
public static void main(String[] args) {
new A();
new A();
}
}
//静态代码块最先执行,且在类加载的时候就执行。只执行一次
//构造代码块在实例化对象的时候被调用,且比构造函数先执行。各个构造代码块按照声明顺序依次执行
class A{
static {
System.out.println("这是静态代码块");
}
{
System.out.println("这是构造代码块1");
}
A(){
System.out.println("这是构造函数");
}
{
System.out.println("这是构造代码块2");
}
}
输出结果
这是静态代码块
这是构造代码块1
这是构造代码块2
这是构造函数
这是构造代码块1
这是构造代码块2
这是构造函数