final,finally,finalize的区别

final

final可以控制成员变量,方法或者这个类是否被继承或被扩展
(1)final定义的成员变量
在类中定义成员变量时如果在前面加上final关键字,表示这个变量不能改变
(2)final定义的方法
将方法定义为final有两个原因:
①这个方法已经满足任何功能需求,不需要经过扩展,并且不能经过继承这个类的子类来覆写这个方法,但可以继承这个方法
②允许编译器将所有对此方法的调用转化为inline(行内)调用的机制,在调用时将此方法直接插入被调用处,而不是单纯调用此方法
(3)final定义的类
表示这个类不能被继承,认为被final定义的类为继承树中的叶子节点,其功能已经很完美了,不用修改和扩展

finally

finally是在try…catch…处理Java异常的最佳补充,不管是否捕捉到异常,finally中都会执行,finally不仅可以维护内部状态,而且能够清理非内存资源,如果没有finally,代码就会比较费解,但是要注意finally中如果有return数据,就会覆盖try中return数据,所有使用时要注意。

finalize

这是Object的一个方法,是垃圾收集器在处理资源前的一个清理不再使用内存资源的方法。

上一篇:java捕获和抛出异常


下一篇:尚硅谷Java入门笔记 - P366 ~ P386