public class Fu {
static {
System.out.println("父類的靜態代碼塊");
}
{
System.out.println("父類的代碼塊");
}
public Fu(){
System.out.println("父類的構造方法");
}
}
public class Zi extends Fu{
static {
System.out.println("子類的靜態代碼塊");
}
{
System.out.println("子類的代碼塊");
}
public Zi(){
System.out.println("子類的構造方法");
}
}
public class Test {
public static void main(String[] args) {
Zi zi=new Zi();
Zi zi1=new Zi();
}
}
輸出結果:
父類的靜態代碼塊
子類的靜態代碼塊
父類的代碼塊
父類的構造方法
子類的代碼塊
子類的構造方法
父類的代碼塊
父類的構造方法
子類的代碼塊
子類的構造方法
總結:父類靜態代碼塊——子類靜態代碼塊——父類代碼塊——父類構造——子類代碼塊——子類構造。
類的靜態代碼塊只執行1次。