当前位置: 移动互联网学院 > Java培训 > JAVA面试题 > Java中final、finally和finalize的区别是什么?
Java中final、finally和finalize的区别是什么? 时间:2017-07-24     来源:华清远见JAVA学院

面试是找到好工作很重要的环节,所以要事先作足准备,熟悉各种面试题。今天,华清Java就业老师要给大家分享的Java面试题是:Java中final、finally和finalize的区别。

Java中final、finally和finalize的区别是什么?

Java中final、finally、finalize的区别与用法,困扰了不少学习者,下面我们就这个问题进行一些探讨,希望对大家的学习有所帮助。

final:

修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词。将变量声明为final,可以保证它们在使用中不被改变,被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取不可修改。被声明为final的方法也同样只能使用,不能在子类中被重写。

finally:

通常放在try…catch…的后面构造总是执行代码块,这就意味着程序无论正常执行还是发生异常,这里的代码只要JVM不关闭都能执行,可以将释放外部资源的代码写在finally块中。

finalize:

Object类中定义的方法,Java中允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在销毁对象时调用的,通过重写finalize()方法可以整理系统资源或者执行其他清理工作。

X