1.final用于声明属性、方法和类,分别表示属性不可改变(常量),方法不可覆盖,类不可继承。
2.finally是异常处理语句结构的一部分,表示总是执行。
3. finalize是java.lang.Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。
用法:如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。方法声明为final,它们在使用中将不被改变,只能使用,不能重载。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
而finally是异常处理的一部分,用于释放资源。有finally,代码肯定会执行它,除非在finally之前JVM退出,才不会执行。finalize是Object类的一个方法,用于垃圾回收。
代码举例:
public class Example { // final的例子 final int x = 10; // 常量,不可改变 final void show() { // 方法不可覆盖 System.out.println("This is a final method."); } final class InnerClass { // 类不可继承 void show() { System.out.println("This is a final inner class."); } } // finalize的例子(注意:finalize方法已经在Java 9中被标记为已过时,因此这个例子在实际应用中已经很少使用) @Override protected void finalize() throws Throwable { // Object类的finalize方法 System.out.println("finalize method called."); super.finalize(); // 调用父类的finalize方法 }
}
// finally的例子 public static void main(String[] args) { try { //代码块} catch (Exception e) { System.out.println("执行遇到异常"); } finally { System.out.println("无论代码是否抛出异常,总会走到这个方法里"); } }