Rocky Snail(小蝸牛)

          一步一步往上爬、小小的天、大大的夢想、 強健體魄、充實頭腦

           

          JAVA中初始化問題

          所有類的變量不論是在類的什么位置,他的初始化都會在任何函數執行前包括構造函數完成,如果沒有被初始化賦值,會得到默認值,如果在構造函數中再次被賦值,他將變更原來的初值。所以一個程序中最先執行的是他的類成員變量的初始化。所以要注意這個問題。static成員變量也會給與默認初始值,但不同的是:通常每生成一個類的對象,他的類范圍變量都要初始化一次,但static變量只在第一個對象產生的時候初始化,以后同樣類的對象在產生,他不會被初始化。即使非static變量在Static 變量前聲明,Static 優先級高,會被先初始化。

          Thinking in Java 的160頁下方的Dog事例閱讀。
          1.找到classpath所指定的路徑,裝載class文件

          2.所有static成員初始化動作都會被執行,此操作只會發生一次,首次對象被封裝的時候。

          3.當new Class,在heap上分配空間。

          4.執行初始化動作。

          5.執行構造函數。


          6.需要注意的是如果有繼承關系的話,先初始化超類的變量和構造函數,然后是子類的。

          posted on 2006-03-08 14:43 Rockysnail 閱讀(283) 評論(0)  編輯  收藏 所屬分類: Java

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 项城市| 乌海市| 巫溪县| 达尔| 象州县| 修水县| 土默特右旗| 社旗县| 扎囊县| 乌拉特后旗| 溆浦县| 太白县| 龙江县| 黄冈市| 潢川县| 涡阳县| 贡嘎县| 措美县| 纳雍县| 泰安市| 南靖县| 库伦旗| 贵定县| 耒阳市| 闵行区| 兰坪| 嘉禾县| 江源县| 临潭县| 苍山县| 湘西| 长葛市| 玛沁县| 敦化市| 怀柔区| 黑龙江省| 桃江县| 岑巩县| 龙里县| 台中市| 成安县|