

父类静态代码块与静态成员–>子类静态代码块与静态成员–>父类的构造代码块—>父类的构造方法—>子类的构造代码块—>子类的构造方法
public class Test08 {
public static void main(String[] args) {
Zi zi = new Zi();
}
}
class Fu{
private static int i = getNum1("(1)i");//父类静态成员
private int j = getNum1("(2)j");//父类的构造代码块get
static{
print("(3)父类静态代码块");//父类静态代码块
}
{
print("(4)父类非静态代码块,又称为构造代码块");//父类的构造代码块
}
Fu(){
print("(5)父类构造器");//父类的构造方法
}
public static void print(String str){
System.out.println(str + "->" + i);
}
public static int getNum1(String str){
print(str);
return ++i;
}
}
class Zi extends Fu{
private static int k = getNum("(6)k");//子类静态代码块与静态成员
private int h = getNum("(7)h");
static{
print("(8)子类静态代码块");//子类静态代码块与静态成员
}
{
print("(9)子类非静态代码块,又称为构造代码块");//子类构造代码块
}
Zi(){
print("(10)子类构造器");//子类构造器
}
public static void print(String str){
System.out.println(str + "->" + k);
}
public static int getNum(String str){
print(str);
return ++k;
}
}