本文重點
我們前面學習了三個步驟:
裝載
連接
初始化
初始化
初始化的時候,會為靜態成員變量賦值初始值,它有兩種方式:
①聲明類變量是指定初始值
②使用靜態代碼塊為類變量指定初始值
例子
最后輸出的結果為3,它的過程是這樣的:
main方法中輸出T.count,由于count是非final的靜態變量,那么此時就會將T進行加載,生成T對應的class,之后進行驗證,然后給靜態變量count進行賦值默認值0,給t賦值默認值null。然后進行解析,之后進行初始化,初始化的方式前面已經介紹了(2種),此時count=2,t=new T(),因為使用了new T(),所以此時會調用構造方法,count++,此時count=3。
交換之后的結果:
我們將下面的兩句代碼交換了位置: