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