final,finally和finaliz有什麼區別

final,finally和finalize有什麼區別

final

final用於聲明屬性、方法和類,分別表示屬性不可變、方法不可覆蓋和類不可被繼承。

  • final屬性:被final修飾的變量不可變。final指的是引用的不可變性,即它只能指向初始時指向的那個對象,而不關心指向對象內容的變化。所以,被final修飾的變量必須被初始化。
  • final方法:當一個方法聲明爲final時,該方法不允許任何子類重寫這個方法,但子類仍然可以使用這個方法。
  • final參數:用來表示這個參數在這個函數內部不允許被修改。
  • final類:當一個類被聲明爲final時,此類不能被繼承,所有方法都不能被重寫。

finally

finally作爲異常處理的一部分,它只能在try/catch語句中,並且附帶一個語句塊,表示這段語句最終一定被執行,經常被用在需要釋放資源的情況下。

finalize

finalize是Object類的一個方法,在垃圾回收器執行時會調用被回收對象的finalize()方法,可以覆蓋此方法來實現對其他資源的回收,例如關閉文件等。需要注意的是,一旦垃圾回收器準備好釋放對象佔用的空間,將首先調用其finalize()方法,並且在下一次垃圾回收動作發生時,纔會真正回收對象佔用的內存。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章