1. 程式人生 > >final, finally, finalize的區別

final, finally, finalize的區別

允許 給定 刪除對象 如果 所有 清除 final 引用 匹配

final:修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載


finally:再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麽相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。


finalize:方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。

final, finally, finalize的區別