1、final
final是修飾符。可以用來修飾類、方法、變量。
final修飾的類不能作為父類而被繼承。
final修飾的方法不能被重寫,但是可以被重載。
final修飾的基本類型的變量,可以看作是一個(gè)常量,可以在聲明的同時(shí)賦值,也可以在第一次使用之前賦值(事實(shí)上,任何變量在使用之前都必須先賦值),但是,一旦賦值完成,該變量的值將不可改變(不可重新賦值)。
值得注意的是,final修飾的成員變量不再分配默認(rèn)值,必須手動(dòng)賦值。
如果final修飾的是引用數(shù)據(jù)類型,那么代表的是引用的地址不可改變,但是地址內(nèi)的對(duì)象屬性值可以修改(聲明和定義同樣可以分開)。
2、finally
finally用于異常處理中,一般和try、catch一起使用(也可以沒有catch)。表示無論異常是否發(fā)生都會(huì)執(zhí)行。
try {
} catch(Exception e) {
} finally {
}
使用finally,可以保證如果在try塊中有異常拋出,finally中可以執(zhí)行一些必須完成的代碼邏輯,比如資源回收等。
3、finalize
finalize()是Object中定義的方法,子類可以重寫該方法。它用來釋放一些其他做法開辟的內(nèi)存空間(如使用native method開辟的空間),以及做一些清理工作(如某些資源的釋放)。GC在回收對(duì)象之前會(huì)調(diào)用該方法。