4:初始化與清理
用構造函數確保初始化
new表達式確實會返回這個新創建的對象和reference,但是構造函數本身不返回任何值。
方法的重載
區分經重載的方法
對primitive進行重載
用返回值重載
不能用返回值來區分重載的方法。
默認的構造函數
this關鍵詞
this關鍵詞只能用于方法內部,它負責返回調用這個方法的對象的reference。
static的含義
不能在static方法里調用非static的方法(雖然反過來是可以的),但是卻可以不通過對象,直接對類調用static方法。
在構造函數里調用構造函數
清理:finalization和垃圾回收
為什么要有finalize()?
1。對象不一定會被垃圾回收器回收。
2。垃圾回收不是拆構(destruction)。
3。垃圾回收只與內存有關。
你必須親自進行清理
中止條件
垃圾回收器是如何工作的
指定初始化
用構造函數進行初始化
初始化的順序是由變量在類的定義里面的順序鎖決定的。
變量的初始化會先于任何方法,甚至是構造函數的調用。
靜態數據的初始化
如果尚未創建類的對象,因而其static的成員尚未初始化的話,初始化會先處理其static成員,再處理非static的對象。只有創建第一個對象時,static成員被初始化,此后static對象就不會再作初始化。
顯示的靜態初始化
靜態初始化只運行一次。
非靜態的實例初始化
數組的初始化
可以訪問的最大的數組下標是length-1
多維數組
總結:本章主要講述了JAVA初始化方面的機制和一些規則和技巧,也對JAVA的內存回收,垃圾處理機制做了一定的介紹和分析。
2005年03月11日 6:08 AM