大家好,我是北京北大青鳥校區ACCP課程的一名學員,現在學習Java已經有一段時間。今天,我把這段學習期間的收獲與總結寫出來,希望與各位同學共享,讓我們共同努力。
作為初始化的一種具體操作形式,構建器應使大家明確感受到在語言中進行初始化的重要性。與C++的程序設計一樣,判斷一個程序效率如何,關鍵是看是否由于變量的初始化不正確而造成了嚴重的編程錯誤(臭蟲)。這些形式的錯誤很難發現,而且類似的問題也適用于不正確的清除或收尾工作。由于構建器使我們能保證正確的初始化和清除(若沒有正確的構建器調用,編譯器不允許對象創建),所以能獲得完全的控制權和安全性。(北京北大青鳥校區)
在C++中,與“構建”相反的“破壞”(Destruction)工作也是相當重要的,因為用new創建的對象必須明確地清除。在Java中,垃圾收集器會自動為所有對象釋放內存,所以Java中等價的清除方法并不是經常都需要用到的。如果不需要類似于構建器的行為,Java的垃圾收集器可以極大簡化編程工作,而且在內存的管理過程中增加更大的安全性。有些垃圾收集器甚至能清除其他資源,比如圖形和文件句柄等。然而,垃圾收集器確實也增加了運行期的開銷。但這種開銷到底造成了多大的影響卻是很難看出的,因為到目前為止,Java解釋器的總體運行速度仍然是比較慢的。隨著這一情況的改觀,我們應該能判斷出垃圾收集器的開銷是否使Java不適合做一些特定的工作(其中一個問題是垃圾收集器不可預測的性質)。
由于所有對象都肯定能獲得正確的構建,所以同這兒講述的情況相比,構建器實際做的事情還要多得多。特別地,當我們通過“創作”或“繼承”生成新類的時候,對構建的保證仍然有效,而且需要一些附加的語法來提供對它的支持。北京北大青鳥校區學術部老師將在以后的章節里詳細的為我們講解創作、繼承以及它們對構建器造成的影響。
雖然我在北京北大青鳥校區的學習時間還不長,但是在老師的細心講解下,我已經對Java技術有了一定的了解,也深深喜歡上了這個技術。今后,我將繼續配合老師,不斷的獲取新知識,用技術武裝自己,為將來的就業提前做好準備。