java基础——final、finally、finalize区别

来源:互联网 发布:电梯乘坐10人答案 知乎 编辑:程序博客网 时间:2024/06/11 16:29

final:修饰符(关键字)  用于声明属性、方法和类,分别表示:属性不可变,方法不可重载,类不可继承

如果一个类被声明为final,那么这个类不会派生子类,不能作为父类被继承。因此一个类不能既被声明为abstract的又被声明为final的。将变量或者方法声明为final可以保证它在 使用中不被改变,被声明为final的变量必须在声明时赋予初值,而在以后的引用中只能读取不能修改。被声明final的方法同样只能使用不能重载。

finally:在异常处理时提供(try-catch-finally)表示总是执行

只要try开始执行了(不管是否发生异常),那么finally块无论如何都会执行。(有一种方法可以退出 try 块而不执行 finally 块。如果代码在 try 内部执行一条 System.exit(0); 语句,则应用程序终止而不会执行 finally 执行

finalize:是Object类的一个方法,在垃圾收集器执行时调用被回收对象的此方法,可以覆盖此方法来提供垃圾收集时的其他资源回收,例如关闭文件等

finalize-方法名。java技术允许使用此方法,在垃圾收集器将对象从内存中清楚出去之前做必要的清理工作。这个方法是在垃圾收集器确定这个对象没有被引用之前对这个对象调用的。因为它是在Object类中定义的,所以所有的类都继承了它。子类覆盖finalize方法以整理系统资源或者执行其他清理工作。finalize方法是在垃圾收集器删除这个对象之前对这个对象调用的。

0 0