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的内存回收,垃圾处理机制做了一定的介绍和分析。