final
final用於聲明屬性、方法和類,分別表示屬性不可變、方法不可覆蓋和類不可被繼承。
- final屬性:被final修飾的變量不可變。final指的是引用的不可變性,即它只能指向初始時指向的那個對象,而不關心指向對象內容的變化。所以,被final修飾的變量必須被初始化。
- final方法:當一個方法聲明爲final時,該方法不允許任何子類重寫這個方法,但子類仍然可以使用這個方法。
- final參數:用來表示這個參數在這個函數內部不允許被修改。
- final類:當一個類被聲明爲final時,此類不能被繼承,所有方法都不能被重寫。
finally
finally作爲異常處理的一部分,它只能在try/catch語句中,並且附帶一個語句塊,表示這段語句最終一定被執行,經常被用在需要釋放資源的情況下。
finalize
finalize是Object類的一個方法,在垃圾回收器執行時會調用被回收對象的finalize()方法,可以覆蓋此方法來實現對其他資源的回收,例如關閉文件等。需要注意的是,一旦垃圾回收器準備好釋放對象佔用的空間,將首先調用其finalize()方法,並且在下一次垃圾回收動作發生時,纔會真正回收對象佔用的內存。