final
1、修饰符(关键字)如果一个类被声明为final,意味着它不能再派生新的子类,不能作为父类被继承。因此一个类不能及被声明为abstract,又被声明为final的。
2、将变量或方法声明为final,可以保证他们使用中不被改变。被声明为final的变量必须在声明时给定初值,而以后的引用中只能读取,不可修改,被声明为final的方法也同样只能使用,不能重载。
finally
在异常处理时提供finally块来执行清楚操作。如果抛出一个异常,那么相匹配的catch语句就会执行,然后控制就会进入finally块,如果有的话。
finalize
finalize是方法名。java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除之前做必要的清理工作。这个方法是在垃圾收集器在确定了,被清理对象没有被引用的情况下调用的。
finalize是在Object类中定义的,因此,所有的类都继承了它。子类可以覆盖finalize()方法,来整理系统资源或者执行其他清理工作。
finalize是Object类中的一个基础方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收,但在JDK9中已经被标记为弃用的方法(deprecated)。
在实际开发中不推荐使用finalize方法,它虽然被创造出来,但无法保证finalize方法一定会被执行,所以不要依赖它释放任何资源,因为它的执行极不“稳定”。在JDK9中将它废弃,也很好的证明了此观点。