package api;

//1. 父类动态成员和动态初始化块 ,按在代码中呈现的程序顺次执行
//2. 子类动态成员和动态初始化块 ,按在代码中呈现的程序顺次执行
//3. 父类实例成员和实例初始化块 ,按在代码中呈现的程序顺次执行
//4. 父类构造方法
//5. 子类实例成员和实例初始化块 ,按在代码中呈现的程序顺次执行
//6. 子类构造方法
public class Box {

public static void main(String[] args) {    A ab = new B();    System.out.println("---");    ab = new B();}

}
class A {

private static int numA;private int numA2;static {    System.out.println("A的动态字段 : " + numA);    System.out.println("A的动态代码块");}{    System.out.println("A的成员变量  : " + numA2);    System.out.println("A的非动态代码块");}public A() {    System.out.println("A的结构器");}

}

class B extends A {

private static int numB;private int numB2;static {    System.out.println("B的动态字段 : " + numB);    System.out.println("B的动态代码块");}{    System.out.println("B的成员变量 : " + numB2);    System.out.println("B的非动态代码块");}public B() {    System.out.println("B的结构器");}

}