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 閱讀(284) 評論(0)  編輯  收藏 所屬分類: Java

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 龙陵县| 云龙县| 磴口县| 临漳县| 土默特左旗| 西充县| 五河县| 高碑店市| 思茅市| 天津市| 梧州市| 太原市| 天台县| 诸城市| 垦利县| 海阳市| 铅山县| 临清市| 汉川市| 吉水县| 静乐县| 鹿泉市| 宜君县| 迭部县| 盐源县| 思南县| 邹平县| 黔东| 翁源县| 勃利县| 南江县| 徐汇区| 会东县| 丹东市| 枝江市| 宁明县| 屯门区| 滦平县| 敖汉旗| 苏尼特右旗| 新丰县|