静态代码段 非静态代码 构造函数 在父类和子类中的调用顺序问题

时间:2021-10-14 19:32:04

废话不多说,直接上代码:

 class TextC {


public TextC() {

System.out.println("父类构造方法!");
}
{
System.out.println("父类非静态代码段!");
}
static{
System.out.println("父类静态代码段!");
}


}
public class TextB extends TextC{


public static void main(String[] args) {

TextB textB= new TextB();
}

public TextB(){
System.out.println("子类构造方法!");
}

{
System.out.println("子类非静态代码段!");
}
static{
System.out.println("子类静态代码段!");
}

}

运行结果如下:

父类静态代码段!
子类静态代码段!
父类非静态代码段!
父类构造方法!
子类非静态代码段!
子类构造方法!


先依次执行父子类的静态代码段,再执行非静态的!