java中static{}語句塊詳解


static{}(即static塊),會在類被加載的時候執行且僅會被執行一次,一般用來初始化靜態變量和調用靜態方法,下面我們詳細的討論一下該語句塊的特性及應用。

 

類加載:Java命令的作用是啟動虛擬機,虛擬機通過輸入流,從磁盤上將字節碼文件(.class文件)中的內容讀入虛擬機,並保存起來的過程就是類加載。

 

 類加載特性 :
      *在虛擬機的生命周期中一個類只被加載一次。
      *類加載的原則:延遲加載,能少加載就少加載,因為虛擬機的空間是有限的。
      *類加載的時機:
      1)第一次創建對象要加載類.
      2)調用靜態方法時要加載類,訪問靜態屬性時會加載類。
      3)加載子類時必定會先加載父類。
      4)創建對象引用不加載類.
      5) 子類調用父類的靜態方法時
          (1)當子類沒有覆蓋父類的靜態方法時,只加載父類,不加載子類
          (2)當子類有覆蓋父類的靜態方法時,既加載父類,又加載子類
      6)訪問靜態常量,如果編譯器可以計算出常量的值,則不會加載類,例如:public static final int a =123;否則會加載類,例如:public static final int a = math.PI。

 


免責聲明!

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



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