這篇文章運用簡單易懂的例子給大家介紹java中靜態代碼塊的用法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
靜態代碼塊就是在類中用static{}括起來的代,因為屬于類,所以在程序載入的時候就執行,優先于創造對象
static
可以修飾屬性、方法、內部類、代碼塊。
靜態代碼塊在類加載時就調用, 而且只執行一次, 并且優先于各種代碼塊以及構造函數。
有一個地方的靜態代碼被使用,那么所有的靜態代碼塊都會被調用。
示例如下:
主類
public class Main { public static void main(String[] args) { // Human human = new Man(); 輸出2 4 1 3 //父類的類名調用父類的方法 //Human.test(); //輸出2 6 在調用靜態代碼時,怕需要上面的靜態代碼塊的內容,所以將其鏈接到內存 與子類無關 //子類的類名調用子類的方法 //Man.doo(); // 輸出2 4 5 在調用子類的靜態方法時,父類的靜態代碼塊執行,與父類的靜態代碼塊有關 //子類的類名調用父類的方法 //Man.test(); // 輸出 2 6 注意這個能調test不是因為繼承,test聲明在了human里,子類可以調用父類的方法, //但是父類不能調用子類的方法 所以在Main中不可直達Man中的的方法 //子類調用了父類的方法,在父類的方法里又引用了子類里的靜態方法 //Man.test(); 輸出 2 6 4 5 } }
父類
public class Human { static { System.out.println("2.父類中的靜態代碼塊"); } public String name; public Human() { System.out.println("1.父類中的構造方法"); } public static void test() { System.out.println("6.父類中的靜態方法"); } }
子類
public class Man extends Human { static { System.out.println("4.子類中的靜態代碼塊"); } public Man() { System.out.println("3.子類中的構造方法"); } public static void doo() { System.out.println("5.子類中的靜態方法"); } }
靜態代碼塊內容先執行(但只執行一次),接著執行父類構造方法,然后執行子類構造方法。
關于java中靜態代碼塊的用法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享名稱:java中靜態代碼塊的用法-創新互聯
當前URL:http://m.newbst.com/article36/depjpg.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、網站設計公司、面包屑導航、小程序開發、網站制作、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯