Java 基础篇

70 阅读1分钟

final、finally、finalize的区别

  • final:修饰符有三种用法:

(1)修饰类:表示该类不能被继承; (2)修饰方法:表示方法不能被重写;  (3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量) 

  • finally:通常放在try…catch…的后面构造总是执行代码块(try{}里的return语句,其后finally{}里的代码会方法返回给调用者前执行),这就意味着程序无论正常执行还是发生异常,这里的代码只要JVM不关闭都能执行,可以将释放外部资源的代码写在finally块中。
  • finalize:Object类中定义的方法,Java中允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作(如关闭连接、关闭文件)。这个方法一般不会显示的调用, 通常是由垃圾收集器在销毁对象时调用的,通过重写finalize()方法可以整理系统资源或者执行其他清理工作。