国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

靜態代碼塊在類被加載時自動執行的理解

opengps / 3820人閱讀

摘要:對靜態代碼塊執行時機的認識類的生命周期包括加載驗證準備解析初始化使用卸載等七個階段,其中驗證準備和解析三個部分統稱為連接。初始化的時候會包含靜態代碼塊的執行和靜態變量的賦值初始化在裝載時不是必須觸發的,保證在初次主動使用對象前會觸發。

對靜態代碼塊執行時機的認識

類的生命周期包括加載(Loading)、驗證(Verification)、準備(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸載(Unloading)等七個階段,其中驗證、準備和解析三個部分統稱為連接(Linking)。而類的加載指的就是從加載到初始化這五個階段。

初始化的時候會包含靜態代碼塊的執行和靜態變量的賦值

初始化在裝載時不是必須觸發的,保證在初次主動使用對象前會觸發。

例:

class A{
    static{
        System.out.print("1");
    }
    
    public A(){
        System.out.print("2");
    }
}

class B extends A{
    static{
        System.out.print("a");
    }
    
    public B(){
        System.out.print("b");
    }
}


public class Hello {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    A ab = new B();
    ab = new B();
}

}

輸出結果: 1a2b2b

靜態代碼塊和非靜態代碼塊的區別

靜態代碼塊,在虛擬機加載類的時候就會加載執行,而且只執行一次;

非靜態代碼塊,在創建對象的時候(即new一個對象的時候)執行,每次創建對象都會執行一次

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/65279.html

相關文章

  • 6.java 代碼

    摘要:構造塊優先于構造函數執行,如果存在多個構造代碼塊,則執行順序按照定義的順序依次執行。靜態代碼塊在中使用關鍵字聲明的代碼塊。同步代碼塊需要寫在方法中。 代碼塊 在java中用{}括起來的稱為代碼塊,代碼塊可分為以下四種: 普通代碼塊 構造代碼塊 靜態代碼塊 同步代碼塊 普通代碼塊 在方法或語句中出現的{}就稱為普通代碼塊。普通代碼塊和一般語句的執行順序由他們在代碼中出現的次序決定,先...

    tuantuan 評論0 收藏0
  • 什么是面向對象?

    摘要:第一章面向對象小白是一門完全面向對象的編程語言嗯什么是面向過程什么又是面向對象呢大佬在我們正式進入學習這部分前,了解一下面向過程和面向對象這兩個概念,對于我們接下來的學習有很大的好處。這一部分我們會在面向對象學習結束后進行系統的整理和總結。 showImg(https://segmentfault.com/img/remote/1460000019303357); 第一章 面向對象 小...

    DirtyMind 評論0 收藏0
  • Java面試 | 002

    摘要:與的差異為解釋性語言而為編譯型語言。為面向對象語言,則兼具面向過程和面向過程編程的特點。就垃圾回收而言,中有析構函數,而則是方法。提供了分布式對象的等庫。公眾號貓說現架構設計碼農兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不定期干貨。 本博客 貓叔的博客,轉載請申明出處 前言 本系列為貓叔綜合整理的Java面試題系列,如有雷同不勝榮幸。 Java與C/C++的差異? 1、jav...

    megatron 評論0 收藏0
  • 設計模式:單例模式 (關于餓漢式和懶漢式)

    摘要:在寫單例模式的代碼之前,我們先簡單了解一下兩個知識點,關于類的加載順序和關鍵字。懶漢和餓漢在程序編寫上,一般將單例模式分為兩種,分別是餓漢式和懶漢式,餓漢式在類加載時就完成了初始化,所以類加載比較慢,但獲取對象的速度快。 定義 單例模式是比較常見的一種設計模式,目的是保證一個類只能有一個實例,而且自行實例化并向整個系統提供這個實例,避免頻繁創建對象,節約內存。 單例模式的應用場景很多, 比如...

    Darkgel 評論0 收藏0
  • java面向對象(上)

    摘要:根據出現的位置,作為對象的默認引用有兩種情形構造器中引用該構造器正在初始化的對象。在構造器中代表該構造器正在初始化的對象。用于限定該對象調用它從父類得到的實例變量和方法。 子類繼承父類就可以繼承到父類的成員變量和方法。如果訪問控制允許,子類實例可以直接調用父類里定義的方法。 如果多個重載的構造器里包含了相同的初始化代碼,則可以把這些初始化代碼放置在普通代碼塊里完成,初始化塊總在構...

    liaosilzu2007 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<