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