初始化与清理

1. 区分重载方法

规则很简单,每个重载的方法都必须有一个独一无二的参数类型列表
以返回值来区分重载方法是行不通的。

2. this用法

  • 在构造器中调用构造器
  • this.a=a;

3. static

static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来是可以的。

4. 清理:终结处理和垃圾回收

Java允许在类中定义一个名为finalize()的方法。它的工作原理"假定"是这样的:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。

Java里的对象并非总是被垃圾回收。或者换句话说:

  1. 对象可能不被垃圾回收。
  2. 垃圾回收并不等于“析构”。
  3. 垃圾回收只与内存有关。

5. 构造器初始化

5.1 初始化顺序
在类的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。

5.2静态数据的初始化
无论创建多少个对象,静态数据都只占用一份存储区域。
初始化的顺序是先静态对象(如果它们尚未因前面的对象创建过程而被初始化),而后是"非静态"对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容