成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Final關鍵字對JVM類加載器的影響

開發 后端
當一個類中有聲明為static final的變量,這樣的變量對類的加載器有一定的影響,首先看看下面的例子。

當一個類中有聲明為static final的變量,這樣的變量對類的加載器有一定的影響,首先看看下面的例子。

  1. package com.bird.classLoad;  
  2.  
  3. class FinalTest{  
  4.       
  5.     public static final int a = 6/3;  
  6.       
  7.     static{  
  8.         System.out.println("FinalTest static block");  
  9.     }  
  10. }  
  11.  
  12. public class Test3 {  
  13.     public static void main(String[] args) {  
  14.         System.out.println(FinalTest.a);  
  15.     }  
  16. }  

因為a是static final變量,且它等于6/3,在編譯的時候就可以知道它的值,所以直接訪問a的值不會引起FinalTest類的初始化。作為表現,也就是static靜態代碼快不會被加載。

運行結果為

在看一個例子

  1. package com.bird.classLoad;  
  2.  
  3. import java.util.Random;  
  4.  
  5. class FinalTest4{  
  6.       
  7.     public static final int a = new Random().nextInt(100);  
  8.       
  9.     static{  
  10.         System.out.println("FinalTest4 static block");  
  11.     }  
  12. }  
  13.  
  14. public class Test4 {  
  15.  
  16.     public static void main(String[] args) {  
  17.         System.out.println(FinalTest4.a);  
  18.     }  
  19. }  

這個static final變量a因為i在編譯的時候無法知道它的確切的值,所以只有等到運行的時候才能知道,所以自己訪問FinalTest4.a會引起FinalTest4類的初始化。也就是static靜態代碼快的加載。

運行結果為

  1. FinalTest4 static block  
  2. 82 

下面的例子是講,當子類被主動訪問的時候,會引起其直接父類的初始化

  1. package com.bird.classLoad;  
  2.  
  3. class Parent{  
  4.       
  5.     static int a = 3;  
  6.       
  7.     static{  
  8.         System.out.println("Parent static block");  
  9.     }  
  10. }  
  11.  
  12. class Child extends Parent{  
  13.       
  14.     static int b = 4;  
  15.     static{  
  16.         System.out.println("Chind static block");  
  17.     }  
  18. }  
  19.  
  20. public class Test5 {  
  21.       
  22.     public static void main(String[] args) {  
  23.         System.out.println(Child.b);  
  24.           
  25.     }  
  26. }  

因為直接訪問Child,b,會先初始化Parent類,然后初始化Child類。

運行結果為

  1. Parent static block  
  2. Chind static block  
  3. 4 

如果通過子類直接訪問父類的變量,只會初始化父類而不會初始化子類

  1. package com.bird.classLoad;  
  2.  
  3. class Parent{  
  4.       
  5.     static int a = 3;  
  6.       
  7.     static{  
  8.         System.out.println("Parent static block");  
  9.     }  
  10. }  
  11.  
  12. class Child extends Parent{  
  13.       
  14.     static{  
  15.         System.out.println("Chind static block");  
  16.     }  
  17. }  
  18.  
  19. public class Test5 {  
  20.       
  21.     public static void main(String[] args) {  
  22.         System.out.println(Child.a);  
  23.           
  24.     }  
  25. }  

直接訪問Parent類的a變量,則只會直接初始化parent類,不會初始化Child類

運行結果如下

  1. Parent static block
  2. 3

原文鏈接:http://blog.csdn.net/a352193394/article/details/7342583

【編輯推薦】

  1. 探究Java初始化的過程
  2. Java集合框架的知識總結
  3. Java與F#的并行程序處理對比
  4. Java并發編程之同步互斥問題
  5. Java中String.format的用法
責任編輯:林師授 來源: a352193394的博客
相關推薦

2020-08-10 08:00:13

JavaFinal關鍵字

2010-03-08 08:39:54

類加載器newJava

2021-01-05 10:26:50

鴻蒙Javafinal

2024-01-15 10:41:31

C++關鍵字開發

2009-12-08 18:02:06

PHP final關鍵

2019-08-28 16:38:49

finalJava編程語言

2021-02-17 13:35:17

finalgetJava

2009-11-26 19:24:54

PHP類CMS

2021-01-07 11:10:47

關鍵字

2021-01-26 07:20:26

Final關鍵字類變量

2024-04-08 11:35:34

C++static關鍵字

2009-06-04 09:15:46

2022-02-17 08:31:38

C語言staic關鍵字

2021-02-01 13:10:07

Staticc語言UNIX系統

2022-05-06 08:32:40

Pythonwith代碼

2025-01-09 10:30:40

2023-11-28 21:50:39

finalstaticvolatile

2024-03-15 15:12:27

關鍵字底層代碼

2022-11-12 18:32:50

Golangomitemptyjson

2009-06-25 10:33:53

StaticJava類
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线电影在线观看 | 亚洲精品久久久一区二区三区 | 欧美亚洲免费 | 久久精品国产一区 | 欧美成人精品激情在线观看 | 日韩毛片 | 一区二区视频 | 久久精品亚洲国产 | 欧美日韩三级在线观看 | 久久99久久99精品免视看婷婷 | 成人性生交大片免费看中文带字幕 | 日本亚洲精品 | 亚洲精品9999 | 成人欧美一区二区三区黑人孕妇 | 日韩不卡在线 | 久久精品国产一区二区三区 | 日本久久网 | 一区二区三区在线观看视频 | 在线视频一区二区 | 精品九九在线 | 黄色一级视频免费 | 久久精品欧美视频 | 久久伦理中文字幕 | 国产av毛片 | 亚洲欧美综合 | 人人爽人人草 | 欧美日韩一区二区电影 | 欧美a级成人淫片免费看 | 日韩成人精品在线观看 | 亚洲综合无码一区二区 | 欧美黄色大片在线观看 | 精品久久久久久久久久久久久久 | 九九精品在线 | www.黄色片视频 | 久久成人一区 | 欧美激情国产日韩精品一区18 | 成年视频在线观看福利资源 | 成年网站在线观看 | 亚洲成人免费 | 在线一区观看 | 国产美女在线观看 |