java類中各個域塊的初始化

2021-09-24 05:12:24 字數 652 閱讀 5412

所有資料域被初始化為預設值

按照在類中宣告的順序,依次執行所有域初始化語句和初始化塊

如果構造器第一行呼叫了第二個構造器,則執行第二個構造器的主體

執行這個構造器的主體

1. 在初始化中,靜態域優先於非靜態域

2. 靜態域在第一次載入類時執行初始化(例項化了多個物件,但靜態域只初始化一次)

3. 如果在類中呼叫了建構函式,只會初始化類中的所有非靜態塊

4. 初始化預設值,數值型別為0,布林型別為false,物件引用為null

下面是一道題,請輸出題目的結果

public class test1 

static

public test1(string str)

public static int print(string str)

public static void main(string args)

}

下面是執行結果:

結果分析:

Java初始化塊

非靜態初始化塊會在每個物件生成時被執行一次,可以初始化類的例項變數。非靜態初始化塊會在建構函式執行時,在建構函式主體 執行之前被執行。靜態初始化塊會在物件裝載到系統的時候執行一次,它僅能初始化類變數,即static修飾的資料成員。class helloa public helloa int a st...

java中靜態初始化塊,例項初始化塊,建構函式區別

public class people public people string name param args public static void main string args 執行效果 new兩個例項,從執行結果可以看出,靜態變數和靜態初始化塊都是在類載入到系統時,載入到系統中,靜態初始化...

java類的成員初始化順序和初始化塊知識

屬性 方法 構造方法和自由塊都是類中的成員,在建立類的物件時,類中各成員的執行順序 1.父類靜態成員和靜態初始化快,按在 中出現的順序依次執行。2.子類靜態成員和靜態初始化塊,按在 中出現的順序依次執行。3.父類的例項成員和例項初始化塊,按在 中出現的順序依次執行。4.執行父類的構造方法。5.子類例...