finall,finally,finalize辨析

来源:互联网 发布:淘客助手插件 mac 编辑:程序博客网 时间:2024/06/11 00:05

1. final

被final修饰过的变量只能被赋值一次;被final修饰过的方法只能继承,不能被覆盖。

 

2.finally语句

只能用于try/catch语句中,附带着一个语句块,表示这个语句块最终总是会被执行。return,continue,break也都无法阻止finally语句块的执行,finally语句块会在他们之前执行。

 

3.finalize

finalize()方法是在GC清理它所从属的对象时被调用的。例如:

public final class test

{
    // 重写finalize()方法
    protected void finalize() throws Throwable

  {
        System.out.println("执行了finalize()方法");
   }

}

finalize()属于Object类,因此所有类都有这个方法,Object的任意子类都可以重写(override)该方法,在其中释放系统资源或者做其它的清理工作,如关闭输入输出流。