《java编程思想》第五章:初始化和清理

来源:互联网 发布:淘宝店铺商品上架教程 编辑:程序博客网 时间:2024/05/23 15:35

随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一。

而初始化和清理正是涉及安全的两个问题。用“构造器”确保初始化,由于构造器的名称与类名完全相同,所以“没个方法首写字母小写”的编码风格不适用于构造器。如果没有写构造器(无论带不带参数),系统会自动的默认添加构造器,如果有写构造器那系统就不会不会添加默认构造器。

初始化:

成员变量初始化:即便成员变量的初始值没给出,它们也确实有初始值。

构造器初始化:无法阻止自动初始化的进行,它将在构造器被调用之前发生。在类内部,变量定义的先后顺序决定了初始化的先后顺序。变量即使散布在方法之间,他们仍会在任何方法(包括构造器)之前得到初始化。

数组初始化:

方法的重载:没个重载的方法都必须有一个独一无二的参数类型列表。说到参数,方法可以接受较小的基本类型作为参数。如果传入的实际参数较大,要通过类型转换转换成小的,如果不能就会报错。

this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。只有当需要明确指出对当前对象的引用时,才需要使用this关键字(人们希望只在必要的地方使用this)。比如在构造器中调用另一个构造器。

static方法:内部不能调用非静态方法,反过来倒是可以。


清理:垃圾处理和垃圾回收

finalize()方法的工作原理:一旦垃圾回收器准备好释放对象占用的空间,将首先调用其finalize()方法,并且在下一次垃圾回收动作发生时,真正回收对象占用空间。使用的时候要注意:1)对象可能不被垃圾回收。2)垃圾回收并不等于“析构(C++)”。但一般不要用这个方法,

垃圾回收只与内存有关。使用垃圾回收器的唯一原因就是为了回收程序不再使用的内存。

垃圾回收机制有:停止--复制(缺点:暂停程序的运行、倒腾空间、还得复制)、标记--清扫(缺点:慢,垃圾越多越慢、)


0 0
原创粉丝点击