一,Java類執行順序
子類:ATest
父類:AParentTest
直接調用靜态方法
第一種:當直接調用(沒有new對象)靜态方法時候:父類靜态變量(按照順序)執行----->子類靜态變量(按照順序)----->父類靜态代碼塊------>子類靜态代碼塊--------->執行方法執行。
new對象建立
第二種建立對象:執行父類靜态代碼---->執行子類的靜态代碼---->執行父類構造方法----->執行子類的構造方法(注:@PostConstruct修飾的方法是在構造方法之後執行的)
注:靜态變量和靜态代碼塊都是按照代碼書寫順序執行的,對于靜态代碼塊隻要是操作(調用靜态方法或者建立一個類等)這個類就會執行(包括靜态變量)
二,說明
對于java類的執行順序,我們可以通過測試了解現象,通過現象意會結果,這還可以幫助我們更好的了解一些執行順序,不至于看到一些源碼,不懂裡面執行的邏輯