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