publicclassHelloBextendsHelloA
{
publicHelloB()
{
}
{
System.out.println("I’m B class");
}
static
{
System.out.println("static B");
}
publicstaticvoidmain(String[] args)
{
newHelloB();
}
}
classHelloA
{
publicHelloA()
{
}
{
System.out.println("I’m A class");
}
static
{
System.out.println("static A");
}
}
其中涉及:靜態(tài)初始化代碼塊漱挚、構(gòu)造代碼塊、構(gòu)造方法
當(dāng)涉及到繼承時(shí)爽待,按照如下順序執(zhí)行:
1咧最、執(zhí)行父類的靜態(tài)代碼塊
static {
System.out.println("static A");
}
輸出:static A
2、執(zhí)行子類的靜態(tài)代碼塊
static {
System.out.println("static B");
}
輸出:static B
3逐纬、執(zhí)行父類的構(gòu)造代碼塊
{
System.out.println("I’m A class");
}
輸出:I'm A class
4蛔屹、執(zhí)行父類的構(gòu)造函數(shù)
public HelloA() {
}
輸出:無
5、執(zhí)行子類的構(gòu)造代碼塊
{
System.out.println("I’m B class");
}
輸出:I'm B class
6豁生、執(zhí)行子類的構(gòu)造函數(shù)
public HelloB() {
}
輸出:無
那么兔毒,最后的輸出為:
static A
static B
I'm A class
I'm B cla