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 的结构器");
}
}