欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java類中元素初始化順序詳解

 更新時(shí)間:2013年08月29日 15:14:30   作者:  
對于靜態(tài)變量、靜態(tài)初始化塊、變量、初始化塊、構(gòu)造器,它們的初始化順序依次是(靜態(tài)變量、靜態(tài)初始化塊)>(變量、初始化塊)>構(gòu)造器

復(fù)制代碼 代碼如下:

public class Test4 {
    @Test
    public void test(){
        child child = new child();
    }
}

class parent{
    public static String parentStaticField = "父類靜態(tài)變量";
    public String parentNormalField ="父類普通變量";
    static {
        System.out.println(parentStaticField);
        System.out.println("父類靜態(tài)塊");
    }

    {
        System.out.println(parentNormalField);
        System.out.println("父類普通塊");
    }

    public parent(){

        System.out.println("父類構(gòu)造方法");
    }
}

class child extends parent{
    public static String childStaticField = "子類靜態(tài)變量";
    public String childNormalField ="子類普通變量";
    static {
        System.out.println(childStaticField);
        System.out.println("子類靜態(tài)塊");
    }

    {
        System.out.println(childNormalField);
        System.out.println("子類普通塊");
    }

    public child(){
        System.out.println("子類構(gòu)造方法");
    }
}


輸出:

復(fù)制代碼 代碼如下:

父類靜態(tài)變量
父類靜態(tài)塊
子類靜態(tài)變量
子類靜態(tài)塊
父類普通變量
父類普通塊
父類構(gòu)造方法
子類普通變量
子類普通塊
子類構(gòu)造方法

執(zhí)行過程:

1、當(dāng)執(zhí)行到new child時(shí),裝載器尋找已經(jīng)編譯的child類的代碼(也就是child.class文件)。在裝載的過程中,裝載器注意到它有一個(gè)基類,于是它再裝載基類。不管你創(chuàng)不創(chuàng)建基類對象,這個(gè)過程總會(huì)發(fā)生。如果基類還有基類,那么第二個(gè)基類也會(huì)被裝載,依此類推。

2、執(zhí)行根基類的static初始化,然后是下一個(gè)派生類的static初始化,依此類推。這個(gè)順序非常重要,因?yàn)榕缮惖摹皊tatic初始化”有可能要依賴基類成員的正確初始化。

3、當(dāng)所有必要的類都已經(jīng)裝載結(jié)束,創(chuàng)建child類對象。

4、child類存在父類,則調(diào)用父類的構(gòu)造函數(shù),可以使用super來指定調(diào)用哪個(gè)構(gòu)造函數(shù)。

  基類的構(gòu)造過程以及構(gòu)造順序,同派生類的相同。首先基類中各個(gè)變量按照字面順序進(jìn)行初始化,然后執(zhí)行基類的構(gòu)造函數(shù)的其余部分。

5、對子類成員數(shù)據(jù)按照它們聲明的順序初始化,執(zhí)行子類構(gòu)造函數(shù)的其余部分。

相關(guān)文章

  • Java實(shí)現(xiàn)簡單QQ聊天工具

    Java實(shí)現(xiàn)簡單QQ聊天工具

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單QQ聊天工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • java 如何讀取遠(yuǎn)程主機(jī)文件

    java 如何讀取遠(yuǎn)程主機(jī)文件

    這篇文章主要介紹了java 如何讀取遠(yuǎn)程主機(jī)文件的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 解決jpa查詢語句自動(dòng)變成了update的問題

    解決jpa查詢語句自動(dòng)變成了update的問題

    這篇文章主要介紹了解決jpa查詢語句自動(dòng)變成了update的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java黑盒測試之nextDate函數(shù)測試

    Java黑盒測試之nextDate函數(shù)測試

    這篇文章主要介紹了Java黑盒測試之nextDate函數(shù)測試,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)Java黑盒測試的小伙伴們有很大的幫助哦,需要的朋友可以參考下
    2021-05-05
  • SpringBoot項(xiàng)目集成Flyway詳細(xì)過程

    SpringBoot項(xiàng)目集成Flyway詳細(xì)過程

    今天帶大家學(xué)習(xí)SpringBoot項(xiàng)目集成Flyway詳細(xì)過程,文中有非常詳細(xì)的介紹及代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Spring boot 實(shí)現(xiàn)單個(gè)或批量文件上傳功能

    Spring boot 實(shí)現(xiàn)單個(gè)或批量文件上傳功能

    這篇文章主要介紹了Spring boot 實(shí)現(xiàn)單個(gè)或批量文件上傳功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-08-08
  • MyBatis-Generator的配置說明和使用

    MyBatis-Generator的配置說明和使用

    本文主要介紹了MyBatis-Generator的配置說明和使用的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • 解決StringBuffer和StringBuilder的擴(kuò)容問題

    解決StringBuffer和StringBuilder的擴(kuò)容問題

    這篇文章主要介紹了解決StringBuffer和StringBuilder的擴(kuò)容問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 如何解決springboot讀取配置文件的中文亂碼問題

    如何解決springboot讀取配置文件的中文亂碼問題

    本篇文章主要介紹了如何解決springboot讀取配置文件的中文亂碼問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看
    2018-05-05
  • RestTemplate如何使用JSON發(fā)送Post請求

    RestTemplate如何使用JSON發(fā)送Post請求

    這篇文章主要介紹了RestTemplate如何使用JSON發(fā)送Post請求問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論