Java中類的載入順序總結

2021-08-10 17:29:58 字數 813 閱讀 1558

父類靜態物件和靜態**塊

子類靜態物件和靜態**塊

父類非靜態物件和非靜態**塊

父類建構函式

子類非靜態物件和非靜態**塊

子類建構函式

其中1和2中的靜態塊按照宣告順序依次執行,在類載入到方法區的時候執行的,不需要new類的例項,而且只需執行一次。而非靜態**塊是在建立物件時執行,執行順序為靜態塊》main()>構造塊》構造方法。

**示例:

/*

* 1. 父類靜態物件和靜態**塊

* 2. 子類靜態物件和靜態**塊

* 3. 父類非靜態物件和非靜態**塊

* 4. 父類建構函式

* 5. 子類非靜態物件和非靜態**塊

* 6. 子類建構函式

* */

class base

static

}public

class

testloadorder

extends

base

//非靜態**塊

//靜態**塊

static

public

static

void

main(string args)

}

輸出:

base static

son static

base no-static

base constructor

sonno-static

sonconstructor

java中類的載入順序

有條準則寫在前面 載入子類前必載入父類,例項化子類前必例項化父類。也就是說,載入的時候會執行靜態塊,其順序為 父類的靜態塊 子類的靜態塊 父類的構造方法 子類的構造方法 同時,宣告不會載入,例如在test類中,使用father f null,不會載入father類的,也就不會執行father類的靜態...

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...