物件的初始化順序

2022-09-03 08:00:11 字數 1393 閱讀 7462

publicclass

初始化順序

static

static

public

初始化順序

()publicstaticvoidmain(string args)

}輸出結果為

靜態快1 ,

靜態快2,

非靜態快

1, 非靜態快

2,構造方法

由上面這個類分析結果如下

1 乙個類中可以存在多個靜態塊與非靜態塊

2 多個靜態塊

一起執行

按照上下順序

2類的初始化順序為

靜態屬性

—》非靜態屬性

-》靜態塊

-》非靜態塊

-》構造方法

假如還存在父類的話

那麼載入順序是怎樣了

例子:packagecom.test;

classparent

static

static

publicparent()

}publicclass

初始化順序

extendsparent

static

static

public

初始化順序

()publicstaticvoidmain(string args)

}顯示結果

:父靜態塊

1父靜態塊

2靜態塊

1靜態塊

2父非靜態塊

1父非靜態塊

2父構造方法

非靜態塊

1非靜態塊

2子構造方法

kkk類的初始化順序為

父類靜態屬性

-》子類靜態屬性

-》父類非靜態屬性

-》子類的非靜態屬性

-》父類靜態塊

-》子類靜態塊

—》父類非靜態屬塊

-》父類的構造方法

-》子類非靜態屬塊

-》子類的構造方法

-

物件的初始化順序

由 static 關鍵字修飾的 如 類變數 靜態變數 靜態 塊 將在類被初始化建立例項物件之前被初始化,而且是按順序從上到下依次被執行 沒有 static 關鍵字修飾的 如 例項變數 非靜態變數 非靜態 塊 初始化實際上是會被提取到類的構造器中被執行的,但是會比類構造器中的 塊優先執行到,其也是按順...

物件的初始化順序

publicclass 初始化順序 static static public 初始化順序 publicstaticvoidmain string args 輸出結果為 靜態快1 靜態快2,非靜態快 1,非靜態快 2,構造方法 由上面這個類分析結果如下 1 乙個類中可以存在多個靜態塊與非靜態塊 2 多...

c 物件初始化順序

c 物件初始化 1.先變數後建構函式。變數先被初始化 然後建構函式被執行 2.先靜態化後例項化。當乙個類被訪問時 靜態變數和建構函式最先被初始化 接著是物件的例項化變數和建構函式被初始化 3.先派生類後基類。對於變數和靜態建構函式 派生物件在基物件之前被初始化.比如 c類派生自b類 b類派生自a類 ...