java 初始化的加载顺序问题
生活随笔
收集整理的這篇文章主要介紹了
java 初始化的加载顺序问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總結一下java里面關于初始化的加載順序問題:
考慮有一個基類和一個子類的情況
那么,當實例化一個子類的對象或者訪問子類的靜態域或靜態方法時,會進行類的加載.
1)完成基類的static域和static塊的初始化.
2)完成子類的static域和static塊的初始化.
至此,如果只是訪問子類的靜態域或靜態方法,到此初始化工作已經完成.如果是實例化子類的對象,那么還要繼續初始化.
3)完成基類非static成員的默認初始化,即基本數據類型為0,對象類型為null,然后完成基類非static成員的指定初始化,最后完成構造器的初始化.
4)完成子類的初始化,流程跟基類的一樣.
注:同一類型元素的初始化,按聲明順序進行.如果還有聚合復用的情況,先完成繼承復用的初始化,再完成聚合復用的初始化.
本文出自 “停不了的V” 博客,請務必保留此出處http://2024486.blog.51cto.com/339445/181986
================================================?
考慮有一個基類和一個子類的情況
那么,當實例化一個子類的對象或者訪問子類的靜態域或靜態方法時,會進行類的加載.
1)完成基類的static域和static塊的初始化.
2)完成子類的static域和static塊的初始化.
至此,如果只是訪問子類的靜態域或靜態方法,到此初始化工作已經完成.如果是實例化子類的對象,那么還要繼續初始化.
3)完成基類非static成員的默認初始化,即基本數據類型為0,對象類型為null,然后完成基類非static成員的指定初始化,最后完成構造器的初始化.
4)完成子類的初始化,流程跟基類的一樣.
注:同一類型元素的初始化,按聲明順序進行.如果還有聚合復用的情況,先完成繼承復用的初始化,再完成聚合復用的初始化.
本文出自 “停不了的V” 博客,請務必保留此出處http://2024486.blog.51cto.com/339445/181986
================================================?
轉載于:https://www.cnblogs.com/shhaoran/archive/2013/02/21/2924353.html
總結
以上是生活随笔為你收集整理的java 初始化的加载顺序问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现实与不现实
- 下一篇: zigbee bind, ZDO_Reg