Java基础知识总结--final、finally、finalize的区别

谈谈final、finally、finalize的区别

1、final修饰符:如果一个类被声明为final,意味着这个类不能再被派生出新的子类,不能作为父类被别的类继承。因此,一个类不能即被声明为abstract又被声明为final。将变量或者方法声明为final,可以保证他们在使用中不会被改变。其初始化可以在两个地方进行:一个就是 在定义处,在final变量定义时直接给其赋值,二就是在构造函数中,这两个地方只能任选其一,并且在以后的引用中只能读取不能修改,别声明为final的方法只能使用,不能被重写。

2、finally

   Finally关键字是对Java异常处理模型的最佳补充。Finally块内的代码总会执行不管有没有异常的发生。使用finally可以维护对象的内部状态,并可以清理非内存资源。

3、finalize

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

原文地址:https://www.cnblogs.com/BaoZiY/p/10146147.html