- 先定义父类DemoA,在父类中添加代码块、静态代码块、构造方法。
public class DemoA {
public DemoA(){
System.out.println("我是父类构造方法!");
}
{
System.out.println("我是父类代码块!");
}
static {
System.out.println("我是父类静态代码块!");
}
}
定义子类继承父类DemoB,在子类中定义代码块、静态代码块、构造方法。
public class DemoB extends DemoA{
{
System.out.println("我是子类代码块!");
}
public DemoB(){
System.out.println("我是子类构造方法");
}
static {
System.out.println("我是子类静态代码块!");
}
}
添加执行main方法
public class Execute {
public static void main(String[] args) {
new DemoB();
}
}
- 执行结果如下:
- 所以执行顺序如下:父类静态代码块->子类静态代码块->父类代码块->父类构造方法->子类代码块->子类构造方法。