class載入順序

2021-08-30 19:17:17 字數 876 閱讀 4348

package com.angus.test;

/** * 載入方法不等於執行方法,初始化變數則會賦值 類載入順序應為 載入靜態方法-初始化靜態變數-執行靜態**塊 例項化時

* 先載入非靜態方法-例項化非靜態變數-執行構造**塊-執行建構函式

* * @author angus

* */

public class statictest

/*** 第六個載入 此時,n已經被初始化 所以列印出 8:靜態塊 i=7 n=99

*/static

// -----------以上屬於類載入---------------------

/*** 例項化過程: 首先載入非靜態方法集; 初始化非靜態變數:9:j i=8 n=100 執行構造塊:10:構造快 i=9 n=101

* 執行構造方法:11:init i=10 n=102 例項化完成

*//**

* 執行建構函式 例項化完成

* * @param str

*/public statictest(string str)

/*** 這個應該是最先載入 但是,載入不等於執行 因為如果不載入此函式,靜態變數是無法初始化的

* * @param str

* @return

*/public static int print(string str)

public static void main(string args)

}

載入靜態方法,但不執行——》父類中靜態成員變數——》父類靜態**塊——》子類靜態成員變數——》子類靜態**塊——》父類成員變數——》父類的構造**塊——》父類構造方法——》子類成員變數——》子類的構造**塊——》子類構造方法

有關class的載入

要手動地把乙個class載入到jvm中可以有兩種方法。方法一 使用classloader的loadclass方法,我們檢視jdk可以看到loadclass有兩個,乙個是帶乙個引數的public 方法 即public class loadclass string name 另乙個是帶兩個引數的prot...

JVM載入class原理

當j a編譯器編譯好.class檔案之後,我們需要使用jvm來執行這個class檔案。那麼最開始的工作就是要把位元組碼從磁碟輸入到記憶體中,這個過程我們叫做 載入 載入完成之後,我們就可以進行一系列的執行前準備工作了,比如 為類靜態變數開闢空間,將常量池存放在方法區記憶體中並實現常量池位址解析,初始...

關於樣式載入順序,js載入順序

對於大型 樣式表,js檔案有多個,這時載入順序有講究 以京東為例 對於js 先載入全域性配置,然後載入當前頁面配置 先載入base v1.js,再載入當前頁面配置 window.pageconfig 為啥要把pageconfig定義為乙個屬性,而不是單獨定義乙個變數,因為如果用乙個未定義的屬性時會i...