java中final關(guān)鍵字用法 Java中final、finally、finalize的區(qū)別?
Java中final、finally、finalize的區(qū)別?Java中final、finally和finalize的區(qū)別如下:1。最后修飾語(yǔ)(關(guān)鍵字)。final修改的類意味著它不能再派生新的子類,
Java中final、finally、finalize的區(qū)別?
Java中final、finally和finalize的區(qū)別如下:1。最后修飾語(yǔ)(關(guān)鍵字)。final修改的類意味著它不能再派生新的子類,也不能被子類作為父類繼承。因此,類不能同時(shí)聲明為抽象的和最終的。將變量或方法聲明為final可以確保它們?cè)谑褂眠^(guò)程中不會(huì)被修改。聲明為final的變量必須在聲明時(shí)給出其初始值,該值只能在后續(xù)引用中讀取。只能使用final聲明的方法,即不能重寫(xiě)它們。
2. Finally是提供Finally塊以在異常處理期間執(zhí)行任何清理操作。無(wú)論是否拋出或捕獲異常,都將執(zhí)行finally塊。try塊中的內(nèi)容在沒(méi)有異常的情況下執(zhí)行到底。當(dāng)catch聲明的異常發(fā)生在try塊中時(shí),catch塊中的內(nèi)容在catch塊中執(zhí)行。無(wú)論是否發(fā)生異常,F(xiàn)inally塊都將執(zhí)行Finally塊的內(nèi)容。因此,無(wú)論代碼邏輯中發(fā)生什么都必須執(zhí)行的代碼可以放在finally塊中。
3. Finalize是方法的名稱。Java技術(shù)允許您使用finalize()方法在垃圾收集器清除內(nèi)存中的對(duì)象之前進(jìn)行必要的清理。當(dāng)確定對(duì)象未被引用時(shí),垃圾收集器將調(diào)用此方法。它是在對(duì)象類中定義的,因此所有類都繼承它。子類重寫(xiě)finalize()方法來(lái)清理系統(tǒng)資源或執(zhí)行其他清理任務(wù)。finalize()方法在對(duì)象被垃圾收集器刪除之前被調(diào)用。