隨筆-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
          主站蜘蛛池模板: 龙井市| 溆浦县| 丹寨县| 本溪市| 黔江区| 江山市| 沁源县| 海南省| 栾川县| 阳朔县| 崇信县| 怀来县| 资兴市| 神木县| 阜平县| 汾西县| 福安市| 兴宁市| 电白县| 虞城县| 靖西县| 枣庄市| 曲阳县| 麻栗坡县| 会理县| 达州市| 安福县| 偏关县| 禄丰县| 绥芬河市| 图们市| 遵义县| 安溪县| 丰原市| 漳浦县| 聂荣县| 高雄市| 阳高县| 建宁县| 武城县| 米林县|