java 类的初始化顺序

父类的静态字段-->父类静态代码块-->子类静态字段-->子类的静态代码块-->父类成员变量-->父类构造代码块-->父类构造方法-->子类成员变量-->子类构造代码块-->子类构造方法

 

public class Son  extends  Father{

public static String staticSon="子类静态字段";//3

private String SonFiled="子类成员变量";//8

static {//4
System.out.println("子类 静态字段初始化了吗 ? ------- staticSon :"+staticSon);

System.out.println("子类 静态代码块");

}
{//9
System.out.println("子类 成员变量初始化了吗 1? ------- SonFiled :"+SonFiled);
System.out.println("子类构造代码块");
}


public Son() {//10
System.out.println("子类 成员变量初始化了吗 2? ------- SonFiled :"+SonFiled);
System.out.println("子类构造方法");
}
}

public class Father {

public static String staticFather="父类静态字段";//1

private String fatherFiled="父类成员变量";//5

static {//2
System.out.println("父类 静态字段初始化了吗 ? ------- staticFather :"+staticFather);
System.out.println("父类 静态代码块");
}
{//6
System.out.println("父类 成员变量初始化了吗 1? ------- fatherFiled :"+fatherFiled);
System.out.println("父类构造代码块");
}


public Father() {//7
System.out.println("父类 成员变量初始化了吗 2? ------- fatherFiled :"+fatherFiled);
System.out.println("父类构造方法");
}
}
posted @ 2023-03-27 12:37  jackwu74  阅读(29)  评论(0)    收藏  举报