java類的載入與初始化
阿新 • • 發佈:2018-10-31
https://blog.csdn.net/u013349237/article/details/71076617
1在命令列啟動虛擬機器jvm進行載入,
2用class.forname()方法進行動態載入;
3用ClassLoader.loadClass()進行動態載入;
區別:用二方法載入時,還會對類進行解釋,執行其中的static語句塊;
用三方法時候,static語句塊不會被執行,只有在類建立物件的時候才會加static語句塊;
注意:class.forname(name,initialize,loader)也可以自己定義是否載入static,並且是呼叫了NewInstance()方法
採用建構函式建立物件的時候才可以;
初始化:只有在使用時類才會被初始化。
1 初始化,也就是new時候會初始化類
2 訪問類或者介面中的靜態變數或者對其賦值
3 呼叫類的靜態方法
4 反射(Class.forName("com.geminno");)
5 初始化它的子類,父類也會初始化
6 虛擬機器啟動時被標明是啟動類的類(java Test),直接用java.exe執行某個類;
程式執行結束的幾種方式:
1 system.exit();
2 正常執行完畢;
3程式執行錯誤,報錯
4系統出現問題,虛擬機器停止執行;
---------------------
作者:lijian159148528
來源:CSDN
原文:https://blog.csdn.net/lijian159148528/article/details/79717143
版權宣告:本文為博主原創文章,轉載請附上博文連結!