類的載入順序

2021-07-13 07:32:04 字數 493 閱讀 2629

初始化過程:

1. 初始化父類中的靜態成員變數和靜態**塊 ;

2. 初始化子類中的靜態成員變數和靜態**塊 ;

3.初始化父類的普通成員變數和**塊,再執行父類的構造方法;

4.初始化子類的普通成員變數和**塊,再執行子類的構造方法;

class x

}class y

}public

class

zextends

x public

static

void

main(string args)

}

(1)初始化父類的普通成員變數和**塊,執行 y y=new y(); 輸出y

(2)再執行父類的構造方法;輸出x

(3) 初始化子類的普通成員變數和**塊,執行 y y=new y(); 輸出y

(4)再執行子類的構造方法;輸出z

所以輸出yxyz

類的載入順序

直接上 熱乎的 package test 有父類的情況 1.載入父類 1.1 為靜態屬性分配儲存空間並賦初始值 1.2 執行靜態初始化塊和靜態初始化語句 從上至下 2.載入子類 2.1 為靜態屬性分配儲存空間 2.2 執行靜態初始化塊和靜態初始化語句 從上至下 3.載入父類構造器 3.1 為例項屬性...

類的載入順序

類載入的順序 1.載入靜態成員 塊 先遞迴地載入父類的靜態成員 塊 object的最先 再依次載入到本類的靜態成員。同乙個類裡的靜態成員 塊,按寫 的順序載入 靜態 塊和靜態成員誰在前面就先載入誰 如果其間呼叫靜態方法,則呼叫時會先執行靜態方法,再繼續載入。同乙個類裡呼叫靜態方法時,可以不理會寫 的...

類的載入順序

public class base public void callname static class sub extends base public static void main string args 執行base b new sub 時由於多型 b編譯時表現為base類特性,執行時表現為s...