1. 区分重载方法
规则很简单,每个重载的方法都必须有一个独一无二的参数类型列表。
以返回值来区分重载方法是行不通的。
2. this用法
- 在构造器中调用构造器
- this.a=a;
3. static
static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来是可以的。
4. 清理:终结处理和垃圾回收
Java允许在类中定义一个名为finalize()的方法。它的工作原理"假定"是这样的:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。
Java里的对象并非总是被垃圾回收。或者换句话说:
- 对象可能不被垃圾回收。
- 垃圾回收并不等于“析构”。
- 垃圾回收只与内存有关。
5. 构造器初始化
5.1 初始化顺序
在类的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。
5.2静态数据的初始化
无论创建多少个对象,静态数据都只占用一份存储区域。
初始化的顺序是先静态对象(如果它们尚未因前面的对象创建过程而被初始化),而后是"非静态"对象。