静态代码块、构造代码块、构造方法的执行顺序:
1.首先执行静态代码块(静态代码块执行一次)
2.其次执行构造代码块
3.最后执行构造方法
public class Test1
{
{
System.out.println("父类第一构造块");
}
static{
System.out.println("父类第一静态代码块");
}
public Test1(){
System.out.println("父类构造方法");
}
static{
System.out.println("父类第二静态代码块");
}
{
System.out.println("父类第二构造块");
}
public static void main(String[] args){
new Test1();
}
}
public class Test2 extends Test1
{
{
System.out.println("第一构造块");
}
static{
System.out.println("第一静态代码块");
}
public Test2(){
System.out.println("构造方法");
}
static{
System.out.println("第二静态代码块");
}
{
System.out.println("第二构造块");
}
public static void main(String[] args){
new Test2();
}
}
执行结果:
父类第一静态代码块
父类第二静态代码块
第一静态代码块
第二静态代码块
父类第一构造块
父类第二构造块
父类构造方法
第一构造块
第二构造块
构造方法
参考链接:Java类中代码的执行顺序