您好,登錄后才能下訂單哦!
Java中初始化塊詳解
在Java中,有兩種初始化塊:靜態初始化塊和非靜態初始化塊.
靜態初始化塊:使用static定義,當類裝載到系統時執行一次.若在靜態初始化塊中想初始化變量,那僅能初始化類變量,即static修飾的數據成員.
非靜態初始化塊:在每個對象生成時都會被執行一次,可以初始化類的實例變量.
非靜態初始化塊會在構造函數執行時,且在構造函數主體代碼執行之前被運行.
括號里的是初始化塊,這里面的代碼在創建Java對象時執行,而且在構造器之前執行!
其實初始化塊就是構造器的補充,初始化塊是不能接收任何參數的,定義的一些所有對象共有的屬性、方法等內容時就可以用初始化塊了初始化!!
好處是可以提高初始化塊的復用,提高整個應用的可維護性。--《瘋狂java講義》
package com.tiandinet.studyjava; public class TestInitiateBlock { { System.out.println("In non-static initialization block!"); }; static { System.out.println("In static initialization block!"); }; public TestInitiateBlock() { System.out.println("In Constructor1!"); } public void show() { System.out.println("In show()!"); } /** * @param args */ public static void main(String[] args) { TestInitiateBlock ti = new TestInitiateBlock(); ti.show(); } }
運行結果:
In static initialization block! In non-static initialization block! In Constructor1! In show()!
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。