天天看點

final、finalize 和 finally 的不同之處

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

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

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