成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java代碼的執(zhí)行順序

?xiaoxiao, / 2739人閱讀

摘要:子類非靜態(tài)代碼塊,接著執(zhí)行子類的構(gòu)造方法??傊痪湓挘o態(tài)代碼塊內(nèi)容先執(zhí)行,接著執(zhí)行父類非靜態(tài)代碼塊和構(gòu)造方法,然后執(zhí)行子類非靜態(tài)代碼塊和構(gòu)造方法歡迎加入學(xué)習(xí)交流群,大家一起學(xué)習(xí)交流。

java 靜態(tài)代碼塊 靜態(tài)方法區(qū)別

靜態(tài)代碼塊是主動(dòng)執(zhí)行的,在項(xiàng)目啟動(dòng)的時(shí)候就初始化, 靜態(tài)方法在類加載的時(shí)候 就已經(jīng)加載 可以用類名直接調(diào)用,兩者的區(qū)別就是:靜態(tài)代碼塊是自動(dòng)執(zhí)行的;靜態(tài)方法是被調(diào)用的時(shí)候才執(zhí)行的.

代碼執(zhí)行順序

class Parent {
    {
        System.out.println("parent block");//3
    }
    static {
         System.out.println("parent static block");//1
    }

    public Parent() {
        System.out.println("parent constructor");//4
    }
}

class Child extends Parent {
    {
        System.out.println("child block");//5
    }
    static {
        System.out.println("child static block");//2
    }

    public Child() {
      System.out.println("child constructor");//6
    }
}

public class Test{
    public static void main(String[] args) {
    new Child();
    }
}

輸出結(jié)果:
parent static block
child static block
parent block
parent constructor
child block
child constructor
對(duì)象的初始化順序:
執(zhí)行父類靜態(tài)的內(nèi)容
執(zhí)行子類的靜態(tài)的內(nèi)容
父類非靜態(tài)代碼塊,接著執(zhí)行父類的構(gòu)造方法。
子類非靜態(tài)代碼塊,接著執(zhí)行子類的構(gòu)造方法。
總之一句話,靜態(tài)代碼塊內(nèi)容先執(zhí)行,接著執(zhí)行父類非靜態(tài)代碼塊和構(gòu)造方法,然后執(zhí)行子類非靜態(tài)代碼塊和構(gòu)造方法

歡迎加入學(xué)習(xí)交流群569772982,大家一起學(xué)習(xí)交流。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67713.html

相關(guān)文章

  • Java 并發(fā)編程(學(xué)習(xí))

    摘要:并發(fā)編程的挑戰(zhàn)并發(fā)編程的目的是為了讓程序運(yùn)行的更快,但是,并不是啟動(dòng)更多的線程就能讓程序最大限度的并發(fā)執(zhí)行。的實(shí)現(xiàn)原理與應(yīng)用在多線程并發(fā)編程中一直是元老級(jí)角色,很多人都會(huì)稱呼它為重量級(jí)鎖。 并發(fā)編程的挑戰(zhàn) 并發(fā)編程的目的是為了讓程序運(yùn)行的更快,但是,并不是啟動(dòng)更多的線程就能讓程序最大限度的并發(fā)執(zhí)行。如果希望通過(guò)多線程執(zhí)行任務(wù)讓程序運(yùn)行的更快,會(huì)面臨非常多的挑戰(zhàn):(1)上下文切換(2)死...

    NervosNetwork 評(píng)論0 收藏0
  • 深入理解Java內(nèi)存模型(三)——順序一致性

    摘要:下面是該程序在兩個(gè)內(nèi)存模型中的執(zhí)行時(shí)序?qū)Ρ葓D在順序一致性模型中,所有操作完全按程序的順序串行執(zhí)行。不保證未同步程序的執(zhí)行結(jié)果與該程序在順序一致性模型中的執(zhí)行結(jié)果一致。 前情提要 深入理解Java內(nèi)存模型(二)——重排序 數(shù)據(jù)競(jìng)爭(zhēng)與順序一致性保證 當(dāng)程序未正確同步時(shí),就會(huì)存在數(shù)據(jù)競(jìng)爭(zhēng)。java內(nèi)存模型規(guī)范對(duì)數(shù)據(jù)競(jìng)爭(zhēng)的定義如下: 在一個(gè)線程中寫一個(gè)變量, 在另一個(gè)線程讀同一個(gè)變量,...

    aristark 評(píng)論0 收藏0
  • 《深入理解 Java 內(nèi)存模型》讀書筆記

    摘要:前提深入理解內(nèi)存模型程曉明著,該書在以前看過(guò)一遍,現(xiàn)在學(xué)的東西越多,感覺(jué)那塊越重要,于是又再細(xì)看一遍,于是便有了下面的讀書筆記總結(jié)。同步同步是指程序用于控制不同線程之間操作發(fā)生相對(duì)順序的機(jī)制。線程之間的通信由內(nèi)存模型控制。 showImg(https://segmentfault.com/img/remote/1460000013474312?w=1920&h=1271); 前提 《深...

    xuexiangjys 評(píng)論0 收藏0
  • 《深入理解 Java 內(nèi)存模型》讀書筆記

    摘要:前提深入理解內(nèi)存模型程曉明著,該書在以前看過(guò)一遍,現(xiàn)在學(xué)的東西越多,感覺(jué)那塊越重要,于是又再細(xì)看一遍,于是便有了下面的讀書筆記總結(jié)。同步同步是指程序用于控制不同線程之間操作發(fā)生相對(duì)順序的機(jī)制。線程之間的通信由內(nèi)存模型控制。 showImg(https://mmbiz.qpic.cn/mmbiz_jpg/1flHOHZw6RtPu3BNx3zps1JhSmPICRw7QgeOmxOfTb...

    姘存按 評(píng)論0 收藏0
  • Java并發(fā)編程:從根源上解析volatile關(guān)鍵字實(shí)現(xiàn)

    摘要:并發(fā)編程關(guān)鍵字解析解析概覽內(nèi)存模型的相關(guān)概念并發(fā)編程中的三個(gè)概念內(nèi)存模型深入剖析關(guān)鍵字使用關(guān)鍵字的場(chǎng)景內(nèi)存模型的相關(guān)概念緩存一致性問(wèn)題。事實(shí)上,這個(gè)規(guī)則是用來(lái)保證程序在單線程中執(zhí)行結(jié)果的正確性,但無(wú)法保證程序在多線程中執(zhí)行的正確性。 Java并發(fā)編程:volatile關(guān)鍵字解析 1、解析概覽 內(nèi)存模型的相關(guān)概念 并發(fā)編程中的三個(gè)概念 Java內(nèi)存模型 深入剖析volatile關(guān)鍵字 ...

    CNZPH 評(píng)論0 收藏0
  • 深入理解Java內(nèi)存模型(二)——重排序

    摘要:前情提要深入理解內(nèi)存模型一基礎(chǔ)編譯器運(yùn)行時(shí)會(huì)對(duì)指令進(jìn)行重排序。以處理器的猜測(cè)執(zhí)行為例,執(zhí)行線程的處理器可以提前讀取并計(jì)算,然后把計(jì)算結(jié)果臨時(shí)保存到一個(gè)名為重排序緩沖的硬件緩存中。請(qǐng)看下篇深入理解內(nèi)存模型三順序一致性 前情提要 深入理解Java內(nèi)存模型(一)——基礎(chǔ) Java編譯器、運(yùn)行時(shí)會(huì)對(duì)指令進(jìn)行重排序。這種重排序在單線程和多線程情況下分別有什么影響呢? 數(shù)據(jù)依賴性 如果兩個(gè)操...

    tunny 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<