對這個東西的執行順序一致都沒摸清,閒著沒事,寫個小程序,自己測下...
已知結論(記為結論一):
靜態>非靜態
測試代碼:
由於靜態方法前面的參數為2,是經過靜態代碼塊計算而來的。所以得到結論(記為結論二):
靜態代碼塊>靜態方法。
如果把參數 j 的定義放在靜態代碼塊,靜態代碼塊報錯,其他的沒有。得結論三:
靜態屬性、靜態代碼塊屬於平級,按程序順序執行。
根據結論一、結論二、結論三,得出如下結論:
靜態屬性/靜態代碼塊(平級,按代碼順序)->靜態方法->構造結構(實例化時)->普通方法(實例對象)