1. 程式人生 > >final, finally, finalize有什麼區別?

final, finally, finalize有什麼區別?

1、final
Final是最終的意思,標示不能被改變,可以用於成員變數(包括方法引數),方法、類。
修飾變數,變數一旦被初始化便不可改變。
修飾方法,方法不能被覆蓋。
修飾類,類不能被繼承。
2、finally
異常處理關鍵字,finally中的主體總會執行,不管異常發生是否。
3、finalize
類的Finalize方法,可以告訴垃圾回收器應該執行的操作,該方法從Object類繼承而來。在從堆中永久刪除物件之前,垃圾回收器呼叫該物件的Finalize方法。注意,無法確切地保證垃圾回收器何時呼叫該方法,也無法保證呼叫不同物件的方法的順序。即使一個物件包含另一個物件的引用,或者在釋放一個物件很久以前就釋放了另一個物件,也可能會以任意的順序呼叫這兩個物件的Finalize方法。如果必須保證採用特定的順序,則必須提供自己的特有清理方法。