隨筆-95  評論-31  文章-10  trackbacks-0
          類初始化順序:
          1、首先是所有父類的static初始化,按代碼中出現的順序(意思是代碼塊和賦值語句),最后到子類的static的初始化,依然按代碼中出現的順序
          2、其次是所有父類的非static初始化,按代碼中出現的順序(意思是代碼塊和賦值語句),然后執行父類的構造函數,最后到子類的非static的初始化,依然按代碼中出現的順序。
          3、最后才是子類構造函數里面的內容。
          4、如果構造里面出現super(...)或者this(...),那么是super(...)的話先到父類去,然后從1開始;如果是this(...)的話,那么先到this(...)所指的構造中去,然后默認執行super()(如果沒有super(...)的話),然后就從1開始(如果有static的話)。這里強調一點:static的代碼塊和賦值語句只執行一遍,比如 在main方法里面連續new 子類() 兩個,那么第二個new 子類()將直接從2開始初始化。

          以上就是一個類初始化的順序!
          在強調一點:
          《1》static的初始化與是否new 構造無關,只要調用類.屬性,類.方法;類.屬性=、new 類()就會進行初始化并賦值
          《2》非static的初始化僅僅只在new 構造
          posted on 2012-06-13 21:52 朔望魔刃 閱讀(244) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 无棣县| 安塞县| 达日县| 莱芜市| 汽车| 蒙阴县| 和顺县| 柳河县| 马边| 昌图县| 金阳县| 贵阳市| 海南省| 防城港市| 洛南县| 怀化市| 五常市| 乡宁县| 阳高县| 陕西省| 凤翔县| 济源市| 勃利县| 阿瓦提县| 陵水| 咸丰县| 正镶白旗| 双江| 鹰潭市| 礼泉县| 高陵县| 常熟市| 绥江县| 陈巴尔虎旗| 林芝县| 临汾市| 左云县| 肇源县| 云霄县| 峡江县| 中江县|