什么時候類加載


什么時候類加載 。第一次需要使用類信息時加載。 

類加載的原則:延遲加載,能不加載就不加載。

觸發類加載的幾種情況: 

(1)、調用靜態成員時,會加載靜態成員真正所在的類及其父類。

通過子類調用父類的靜態成員時,只會加載父類而不會加載子類

(2)、第一次 new 對象的時候 加載(第二次再 new 同一個類時,不需再加載)。

(3)、加載子類會先加載父類。(覆蓋父類方法時所拋出的異常不能超過父類定義的范圍) 

如果靜態屬性有 final 修飾時,則不會加載,當成常量使用

例:public static final int a =123; 

但是如果上面的等式右值改成表達式(且該表達式在編譯時不能確定其值)時則會加載類。 

例:public static final int a = math.PI 

如果訪問的是類的公開靜態常量,那么如果編譯器在編譯的時候能確定這個常量的值,就不會被加載;

如果編譯時不能確定其值的話,則運行時加載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM