→ duckfly: 全部static variables或block都是compile時就指定完成 12/23 22:31
→ duckfly: 把static{}跟static var前後對調試試,以最後指定的為主 12/23 22:33
→ duckfly: 由上到下執行,跟是否為static block或static field無關 12/23 22:36
→ duckfly: 直接看byte code來比較差異,你會比較清楚 12/23 22:51
→ ssccg: 我以為static final才是compile time 12/24 00:58
→ ssccg: static不是都runtime由class loader做的? 12/24 00:59
→ duckfly: 我這樣說似乎有點誤導,應該說compile時就把static初始化 12/24 01:35
→ duckfly: 的步驟就先確定好,然後第一次使用static field時才初始 12/24 01:36
→ duckfly: 化,而final static你可看成C中的#define,compile時就會 12/24 01:37
→ duckfly: 直接做常量的替換。 12/24 01:38