父类
class A {
{
System.out.println("A:代码块");
}
static {
System.out.println("A:静态代码块");
}
A() {
System.out.println("A:构造方法");
}
}
子类
class B extends A {
{
System.out.println("B:代码块");
}
static {
System.out.println("B:静态代码块");
}
B () {
System.out.println("B:构造方法");
}
}
main
public static void main(String[] args) {
new B();
}
结果
A:静态代码块
B:静态代码块
A:代码块
A:构造方法
B:代码块
B:构造方法
总结顺序
父类静态代码块–》子类静态代码块–》父类代码块–》父类构造方法–》子类代码块–》子类构造方法