按時間先後順序
1、static修飾的變數初始化(是static修飾的,因此乙個類就一次)
2、main方法(是static修飾的,因此乙個類就一次)
3、構造方法
4、物件呼叫方法
**:
public
class main
public
intf()
public
static
ints()
public
static
void
main(string args)
static
int k = s();
}
執行結果:
對static的賦值
對static的賦值
我是main方法
對i的賦值
我是構造方法
對i的賦值
我是構造方法
說明:
**故意在最下面定義k變數,目的是說明static修飾的變數比起main方法確實早初始化。同時在main中建立兩個物件示例,目的是說明static修飾的變數只初始化一次。
java中變數初始化
首先一些被初始化物件的概念 類變數 類靜態成員 類被載入時產生 它的生存期是類的生存期 自動初始化 類被載入 成員變數 類成員 在使用new 建立該類例項時產生 它的生存期與該類例項物件的生存期相同 自動初始化 構造方法被呼叫 區域性變數 類的方法中的變數 該方法被呼叫時產生 在該方法退出後結束 必...
java中變數初始化
1 類變數 類靜態成員 類被載入時產生 它的生存期是類的生存期 自動初始化 類被載入 成員變數 類成員 在使用new建立該類例項時產生 它的生存期與該類例項物件的生存期相同 2 方法變數是指在方法中宣告的變數,方法變數的修飾詞要麼沒有,有的話永遠只可能有乙個,那就是final,其它任何修飾詞都是不允...
類中變數初始化
類中的變數 包括基本資料型別,物件引用 在載入物件位元組碼進記憶體,在使用其之前,呼叫構造方法之前就已經完成初始化賦值了。其中static 修飾的變數在載入物件位元組碼時時就賦值了,其他變數在這以後被賦值,也就是static 修飾的先賦值。驗證 如下 package cn.ytu.en class ...