final、finally、finalize 的区别
final 修饰符(关键字)如果一个类被声明为 final,意味着它不能再派 生出新的子类,不能作为父类被继承例如:String 类、Math 类等。将变量 或方法声明为 final,可以保证它们在使用中不被改变。被声明为 final 的变 量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明 为 final 的方法也同样只能使用,不能重写,但是能够重载。 使用 final 修 饰的对象,对象的引用地址不能变,但是对象的值可以变!
finally 在异常处理时提供 finally 块来执行任何清除操作。如果有 finally 的话,则不管是否发生异常,finally 语句都会被执行。一般情况下, 都把关闭物理连接(IO 流、数据库连接、Socket 连接)等相关操作,放入到 此代码块中。
finalize 方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将 对象从内存中清除出去之前做必要清理工作。finalize() 方法是在垃圾收集 器删除对象之前被调用的。它是在 Object 类中定义的,因此所有的类都继 承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。 一般情况下,此方法由 JVM 调用,程序员不要去调用!