靜態變數和靜態方法在類載入的時候執行
1、靜態塊優先執行載入 並且靜態塊之執行一次
2、非靜態塊或者非靜態變數其次載入
3、最後是構造器載入
如果某個物件出發執行了第乙個靜態塊
那麼其他所有的靜態塊都由此物件初始化執行
不要再靜態塊new物件
栗子:
public
class
employee
static
static
public
employee()
}
測試類
public
class
test
}
初始化塊執行了 被a裡面的bb執行本文中只出現了兩個靜態塊的執行說明了 靜態**塊只執行一次構造方法執行了
靜態初始化塊11執行了 被a執行
靜態初始化塊22執行了 被a執行
初始化塊執行了
構造方法執行了
初始化塊執行了
構造方法執行了
而兩個靜態**快相鄰輸出說明所有靜態塊只由第乙個new出來的物件執行
runtime OC類執行順序
一 runtime如何實現?oc這個語言盡可能的將一些決定從編譯器推遲到執行時,他會盡可能的動態處理事情,這意味著這個語言不僅需要乙個編譯器,還需要乙個執行時系統,使得這個語言得以執行。runtime簡稱執行時。就是系統在執行的時候的一些機制,其中最主要的是訊息機制。對於c語言,函式的呼叫在編譯的時...
java類執行順序
如果父類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 如果類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 將類的成員賦予初值 原始型別的成員的值為規定值,例如int型為0,float型為0.0f,boolean型為false 物件型別的初始值為null 如果構造方...
java類執行順序
先執行父類的靜態變數和靜態 塊,如果有初值為其賦值,沒有就賦值預設初始值 執行當前類的靜態變數和靜態 塊,如果有初值為其賦值,沒有就賦值預設初始值 執行當前類成員的預設賦值,int 0,boolean false等 執行當前類的構造方法,顯示或者掩式呼叫父類的構造方法,如果構造方法 塊中有this,...