《Java编程思想》第5章——初始化与清理
- 构造器是一种特殊类型的方法,因为它没有返回值,这与返回值为void明显不同。
- 每个重载的方法都必须有一个独一无二的参数类型列表,甚至参数顺序的不同也足以区分两个方法,不过一般情况不这么做,因为这会使代码难以维护。需要注意的是,通过返回值来区分重载方法是行不通的。
- 如果你写的类中没有构造器,则编译器会自动帮你创建一个默认构造器。如果你已经定义了一个构造器(无论是否有参数),编译器就不会帮你自动创建默认构造器。
- this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。this关键字对于将当前对象传递给其他方法也很有用。
- 在构造器中可以通过this调用另一个构造器,但却不能调用两个,此外,必须将构造器调用置于最起始处,否则编译器会报错。在类中除构造器之外,编译器禁止在其他任何方法中调用构造器。
- static方法就是没有this的方法,在static方法的内部不能调用非静态方法。
- 一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。所以可以用finalize()在垃圾回收时刻做一些重要的清理工作。但finalize()不能滥用,因为垃圾回收器和与垃圾回收有关的任何行为(包括finalize()),它们都必须同内存技巧回收有关,这就对finalize()的需求限制到一种特殊情况,即通过某种创建对象方式以外的方式为对象分配了存储空间。 more >>