1.java類的實(shí)例的初始化過(guò)程:
靜態(tài)變量->靜態(tài)代碼塊->main->實(shí)例變量->實(shí)例初始化塊->構(gòu)造器
加載的規(guī)則基本如下:
1.懶式加載:如果是第一次加載,通過(guò) classpath 尋找其class文件。會(huì)加載其所有父類
2.為對(duì)象分配內(nèi)存空間。遞歸為所有父對(duì)象分配內(nèi)存空間。先父再子。屬性默認(rèn)初始化,值“0”
3.給屬性賦值
4.遞歸調(diào)用父類構(gòu)造器,最后調(diào)用子類構(gòu)造器
5.靜態(tài)方法貌似最早加載?靜態(tài)初始化塊和靜態(tài)變量的執(zhí)行順序取決于在代碼中的先后順序