java中首先是靜態(tài)塊先執(zhí)行矮瘟,然后非靜態(tài)代碼塊,最后是構(gòu)造函數(shù)
public class Parent {
static {
System.out.println("父類--靜態(tài)代碼塊");
}
public Parent() {
System.out.println("父類--構(gòu)造函數(shù)");
}
{
System.out.println("父類--非靜態(tài)代碼塊");
}
public static void main(String[] args) {
new Child();
}
}
public class Child extends Parent {
static {
System.out.println("子類--靜態(tài)代碼塊");
}
{
System.out.println("子類--非靜態(tài)代碼塊");
}
public Child() {
System.out.println("子類--構(gòu)造函數(shù)");
}
}
執(zhí)行結(jié)果
父類--靜態(tài)代碼塊
子類--靜態(tài)代碼塊
父類--非靜態(tài)代碼塊
父類--構(gòu)造函數(shù)
子類--非靜態(tài)代碼塊
子類--構(gòu)造函數(shù)