private static String name = "demo";
private static String name; static { name = "demo"; }
如以上程式碼所示,兩種寫法有什麼差別,或各有什麼優缺點。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
就中間程式碼來看沒有差別
結果上沒有差別,只是程式碼區塊裡你可以寫其他程式碼,像是往map裡塞資料啥的。
在靜態程式碼區塊中,可以對更多變數進行賦值等操作,一般是用來做初始化,例如遊戲載入時,用來載入靜態資源圖片用的。
有個小差別:在同一個類別中,靜態屬性的初始化在靜態初始化區塊之前完成
就中間程式碼來看沒有差別
結果上沒有差別,只是程式碼區塊裡你可以寫其他程式碼,像是往map裡塞資料啥的。
在靜態程式碼區塊中,可以對更多變數進行賦值等操作,一般是用來做初始化,例如遊戲載入時,用來載入靜態資源圖片用的。
有個小差別:在同一個類別中,靜態屬性的初始化在靜態初始化區塊之前完成