JVM 五 類的初始化

2021-10-04 09:28:35 字數 578 閱讀 3921

7種主動使用和被動使用,會觸發類的初始化

當初始化類的時候,要求父類都已經被初始化,但是這條規則不適用於介面(inte***ce)

public class test06 

}inte***ce threadparent

};}/**

* */

class threadchild implements threadparent

在這個例子中,可以明確看出,初始化乙個類,並不會例項化他的介面

public class test06 

}inte***ce threadparent

};}inte***ce threadchild extends threadparent

};}

這個例子中,獲取介面的靜態屬性,可以發現並沒有觸發父介面的初始化,但是會觸發父介面的載入

只有當程式訪問的靜態變數或靜態方法確實在當前類或當前介面中定義時,才可認為是對類或介面的主動使用

jvm類初始化條件

1.虛擬機器啟動時,指定乙個要執行的主類,虛擬機會優先初始化這個 帶main方法的 主類 public class testmode public static void main string args 2.通過陣列定義來引用類,不會觸發類的初始化 class test public class ...

類的初始化

類的初始化通產有3種型別 使用初始化列表,在建構函式體中賦值,以及使用預設建構函式。先說前兩種 初始化列表與在建構函式體中賦值的區別在 呢?主要有兩點 第一,有的成員不能使用函式體中的 初始化。這其實就是初始化與賦值的區別 比如比如const 成員,引用型別,以及沒有定義預設建構函式的類,它們都必須...

類的初始化

類的初始化通產有3種型別 使用初始化列表,在建構函式體中賦值,以及使用預設建構函式。先說前兩種 初始化列表與在建構函式體中賦值的區別在 呢?主要有兩點 第一,有的成員不能使用函式體中的 初始化。這其實就是初始化與賦值的區別 比如比如const 成員,引用型別,以及沒有定義預設建構函式的類,它們都必須...