1.淺談final,finally,finalize的區別。

敷衍rmrf發表於2016-09-11

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

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

finalize方法名。java技術允許使用finalize()方法在垃圾收集器將物件從記憶體中清除出去之前做好必要的清理工作。這個方法是由垃圾收集器在確定這個物件沒有被引用的情況下對這個物件的呼叫。它是在object類中定義的,因此所有的類都繼承了它。子類覆蓋finalize()方法以整理系統資源或者執行其他清理工作。finalize()方法是在垃圾收集器刪除物件之前對這個物件的呼叫。


2.Static Nested Class 和inner class 的不同。

靜態內部類意味著一建立一個static內部類的物件,

不需要一個外部類物件 2不能從一個static內部類的一個物件訪問另一個外部類的物件

相關文章