所有資料域被初始化為預設值
按照在類中宣告的順序,依次執行所有域初始化語句和初始化塊
如果構造器第一行呼叫了第二個構造器,則執行第二個構造器的主體
執行這個構造器的主體
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.子類例...