final、finally、finalize的区别

来源:互联网 发布:unity3d连接sql数据库 编辑:程序博客网 时间:2024/06/08 13:34

简单区别:

       final用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

       finally是异常处理语句结构的一部分,表示总要执行。

       finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。

中等区别:

     final:java中的关键字,修饰符

       如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能同时被声明为abstract抽象类和final的类。

       如果final修饰的是一个对象,就表示这个变量被赋予的引用是不可变的。(不可改变的只是这个变量所保存的引用,并不是这个引用所指向的对象。

       被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。

       被声明为final的方法只能使用,不能重载。

     finally:java的一种异常处理机制

       finalize:java一个方法名

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

0 0