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