1.單純無父類的類 各**塊的執行順序
public classmanprivatepersonperson=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 classbirdextendsanimalpublic voidprint()
privatepersonperson=newperson();
public static intx
= 10;
public static voidpx()
static
private staticanimal_1 animal_1
=newanimal_1();
public static voidpp()
}
public classanimalanimal靜態塊執行了。。。privatepersonperson=newperson();
public static voidpx()
static
public static intx
= 10;
private staticanimal_1 animal_1
=newanimal_1();
public voidprint()
public static voidpp()
}
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...