class Parent {
static {
System.out.println("静态代码块Parent static");
}
{
System.out.println("构造代码块Parent {}");
}
public Parent() {
System.out.println("构造方法Parent()");
}
}
class Child extends Parent {
static {
System.out.println("静态代码块Child");
}
{
System.out.println("构造代码块Child {}");
}
public Child() {
System.out.println("构造方法Child()");
}
}
public class Demo {
public static void main(String[] argus) {
Child child = new Child();
System.out.println("------------------");
Child child2 = new Child();
}
}
输出顺序:
静态代码块Parent static
静态代码块Child
构造代码块Parent {}
构造方法Parent()
构造代码块Child {}
构造方法Child()
------------------
构造代码块Parent {}
构造方法Parent()
构造代码块Child {}
构造方法Child()
Process finished with exit code 0
本文详细解析了Java中父类与子类的构造方法、构造代码块及静态代码块的执行顺序,通过具体示例代码展示了不同类型的代码块如何在对象创建过程中按特定顺序执行。





