首页 > 代码库 > [面试题]java中final finally finalized 的区别是什么?

[面试题]java中final finally finalized 的区别是什么?

final 是修饰符,可以用于修饰变量、方法和类。修饰变量时,代表变量不可以修改,也就是常量了,常量需要在定义时赋值或通过构造函数赋值,两者只能选其一;修饰方法时,代表方法只能调用,不能被 override ;修饰类时,代表类不能够派生出子类,所以一个类不能既是 final 又是 abstract;


finally 是异常处理机制中的 try 的从句,用于处理必要的清理工作,那怕执行的 catch 中有 return 语句 finally 也会在 return 之前执行;


finalized 是 Object 中定义的一个方法,子类一般都重写该方法,用于在该对象被GC收走前做必要的清理工作,该方法一般供GC调用,但重载 finalized 时,GC只会调用最初始版本的 finalized ,显式地调用初始版本的 finalized 方法具有很大的不确定性。