国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Java類初始化時機測試方法解析

瀏覽:36日期:2022-08-27 11:19:22

<clinit>()方法

Java 類加載的初始化過程中,編譯器按語句在源文件中出現的順序,依次自動收集類中的所有類變量的賦值動作和靜態代碼塊中的語句合并產生方法。 如果類中沒有靜態語句和靜態代碼塊,那可以不生成<clinit>() 方法。

并且 <clinit>() 不需要顯式調用父類(接口除外,接口不需要調用父接口的初始化方法,只有使用到父接口中的靜態變量時才需要調用)的初始化方法 <clinit>(),虛擬機會保證在子類的 <clinit>() 方法執行之前,父類的 <clinit>() 方法已經執行完畢(所以java.lang.Object 類總是第一個被加載)

Java類初始化時機測試方法解析

準備父類和子類

class Father { static int father_a = 1; static { System.out.println('父類靜態代碼塊執行'); } static class StaticInnerClass { static { System.out.println('靜態內部類靜態代碼塊執行'); } }}class Son extends Father { static { System.out.println('子類靜態代碼塊執行'); son_a = 300; } static int son_a = 100; static final int M = 1;}

Main方法:

1:父類沒有被引用但是會被先加載

new Son();

Java類初始化時機測試方法解析

2:反射也會產生主動引用:

Class a = Class.forName('clinit.Son');

(運行結果同1)

3:子類使用父類靜態變量或方法不會產生類的引用

System.out.println('Father.a = ' + Son.father_a);

Java類初始化時機測試方法解析

4:通過類創建數組不會加載類(只是開辟一塊空間)

Son[] sons = new Son[8];

Java類初始化時機測試方法解析

5:使用常量不會加載父類和之類(常量在Linking階段就保存在常量池當中了)

System.out.println('Son.CONST = ' + Son.CONST);

Java類初始化時機測試方法解析

6:引用靜態內部類不會加載外部類(應用于單例模式)

new Father.StaticInnerClass();

Java類初始化時機測試方法解析

代碼總結:

public static void main(String[] args) throws Exception {// 1.父類沒有被引用但是會被先加載// new Son();// 2.反射會產生主動引用// Class a = Class.forName('clinit.Son');// 3.子類使用父類靜態變量或方法不會產生類的引用// System.out.println('Father.a = ' + Son.father_a);// 4.通過類創建數組不會加載類(只是開辟一塊空間)// Son[] sons = new Son[8];// 5.使用常量不會加載父類和之類(常量在Linking階段就保存在常量池當中了)// System.out.println('Son.CONST = ' + Son.CONST);// 6.引用靜態內部類不會加載外部類(應用于單例模式)// new Son.StaticInnerClass(); }}

PS:由于是按出現的順序執行的,為了避免不必要的麻煩,應盡量把靜態變量寫在靜態代碼塊之前

public class Test { public static void main(String[] args) { System.out.println('a = ' + cls.a); }}class cls { static int a = 10;8 static { a = 20; }9 }

Java類初始化時機測試方法解析

如果 調換順序輸出結果將是 a = 10

class cls { static { a = 20; } static int a = 10; }

Java類初始化時機測試方法解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: www.亚洲免费 | 欧美一级一毛片 | 免费在线观看a级片 | 日韩亚洲人成网站在线播放 | 欧美一级毛片大片免费播放 | 韩日黄色片 | 99久久精品6在线播放 | 欧美成人国产一区二区 | 免费高清在线爱做视频 | 欧洲精品一区二区三区在线观看 | 免费观看日本特色做爰视频在线 | 在线观看欧美一区 | 超清波多野结衣精品一区 | 日本www在线视频 | 日韩欧美亚洲每的更新在线 | 免费观看a毛片一区二区不卡 | 男女男精品视频网站在线观看 | 色视频www在线播放国产人成 | 国产一区二三区 | 成人午夜性a一级毛片美女 成人午夜亚洲影视在线观看 | 香港a毛片免费全部播放 | 一级毛片牲交大片 | 岛国片欧美一级毛片 | 国产一级毛片网站 | 在线观看国产一区二区三区 | 久久97视频 | 免费大片黄手机在线观看 | 性色tv| 国产一区二区三区四区在线观看 | 久久www视频 | 精品欧美成人高清在线观看2021 | 99精品一区二区三区 | 亚洲欧美在线免费 | 久久伊人热 | 91在线精品亚洲一区二区 | 澳门毛片免费观看 | 三级大片在线观看 | 久久精品国产99久久72 | 亚洲欧美日韩在线不卡中文 | 91欧美精品综合在线观看 | 极品美女写真菠萝蜜视频 |