java類各模組的載入順序

2021-08-18 15:18:22 字數 2100 閱讀 7545

1.單純無父類的類  各**塊的執行順序

public classman 

privatepersonperson=newperson();

private static intx

= 100;

public static voidpx()

static

private staticanimal_1 animal_1

=newanimal_1();

private staticanimal animal

=newanimal();

}
執行結果:

x=100先執行了

靜態塊執行了。。。

animal_1 run...

animal run...

初始化了peron類

man建構函式執行了。。。

執行順序:

a. 先找靜態,靜態模組先執行如靜態變數、靜態**塊等(靜態方法除外),從上往下依次執行。

b. 執行非靜態上述**塊。

c. 執行構造方法。到此就結束了。

2.有父類的子類,各**塊的執行順序,其中有同名的變數和方法,有同名靜態屬性。

public classbirdextendsanimal 

public voidprint()

privatepersonperson=newperson();

public static intx

= 10;

public static voidpx()

static

private staticanimal_1 animal_1

=newanimal_1();

public static voidpp()

}

public classanimal 

privatepersonperson=newperson();

public static voidpx()

static

public static intx

= 10;

private staticanimal_1 animal_1

=newanimal_1();

public voidprint()

public static voidpp()

}

animal靜態塊執行了。。。

animal_1 run...

bird靜態塊執行了。。。

animal_1 run...

初始化了peron類

animal run...

初始化了peron類

bird 建構函式....

執行順序:

a. 先找父類的靜態,靜態模組先執行如靜態變數、靜態**塊(靜態方法除外),從上往下依次執行。

b. 子類的靜態如上順序執行。

c. 父類非靜態模組 如上按順序執行,然後父類建構函式。

d.子類非京台模組  如上按順序執行,然後子類建構函式。結束!

java類載入順序

1 父類靜態成員和靜態初始化塊,按在 中出現的順序依次執行。2 子類靜態成員和靜態初始化塊,按在 中出現的順序依次執行。3 父類例項成員和例項初始化塊,按在 中出現的順序依次執行。4 執行父類構造方法。5 子類例項成員和例項初始化塊,按在 中出現的順序依次執行。6 執行子類構造方法。下面提供了有關靜...

java類載入順序

package com.demo description 類載入順序 author fujianyong 2015 2 6上午11 21 37 public class classloadersequence public static void test1 public void test2 pu...

Java 類載入順序

父類 靜態成員變數 父類 static 塊 子類 靜態成員變數 本類 static 塊 父類 構造塊 父類 預設構造方法 子類 構造塊 子類 有參 構造方法。package com.example.demo.basic author grace.pan date 2019 6 17 public c...