1. 程式人生 > >java裡final、finally、finalize的區別

java裡final、finally、finalize的區別

final :java 關鍵字。被final修飾的變數不可進行值更改,必須在定義時一併初始化。如final int i=1,則下面對i只能使用,而不能進行更改如i++,更改必定會報錯。同理,final修飾方法時,則子類不能對該方法進行重寫;被final修飾的類不允許繼承。所以,一個類不能不同被abstract和final修飾。(實操驗證見下圖)

finally:多見與java的try..catch..finally塊,只有try語句塊正常執行(不做退出執行緒,宕機等情況的考慮),那麼無論catch語句塊是否執行 ,finally語句塊都會執行,且最終整個try..finally程式碼塊返回情況以finally中的return結果為準(見下圖)。所以在程式碼邏輯中有需要無論發生什麼都必須執行的程式碼,就可以放在finally塊中。

finalize:類的finalize()方法,可以告訴垃圾回收器應該執行的操作,該方法從Object類繼承而來。在從堆中永久刪除物件之前垃圾回收器呼叫該物件的finalize()方法。下圖是Object類中的finalize 方法。                           

相關推薦

Java語言final&finally&finalize區別

                                          &

javafinalfinallyfinalize區別

final :java 關鍵字。被final修飾的變數不可進行值更改,必須在定義時一併初始化。如final int i=1,則下面對i只能使用,而不能進行更改如i++,更改必定會報錯。同理,final修飾方法時,則子類不能對該方法進行重寫;被final修飾的類不允許繼承。所以

java final finallyfinalize區別

final:在java中,final一般是指不可變的,是一個修飾符,可以修飾常量、方法、類, public class TestOne{ final int MAX_ONE=1; public void test(){ MAX_ONE=2;//在這裡是錯誤的,變數被final修飾後不能再

Javafinalfinallyfinalize區別和用法

1.簡單區別 final用於宣告屬性,方法和類,分別表示屬性不可交變,方法不可覆蓋,類不可繼承。 finally是異常處理語句結構的一部分,表示總是執行。 finalize是Object類的一個方法,在垃圾收集器執行的時候會呼叫被回收物件的此方法,供垃圾收集時的其他資源回收,例

Java基礎總結從0開始(二):finalfinallyfinalize區別

final:用於修飾類、方法和屬性;被修飾的類不能被繼承,方法不能重寫,屬性不可改變即參量;        -----ps:abstract和final不能同時修飾類finally:多用捕獲異常後必須執行執行的程式碼塊,比例關閉連線,IO流等;finaliza:JVM在回收垃

Javafinalfinallyfinalize區別

1.2 定義方法當final用來定義一個方法時,會有什麼效果呢?正如大家所知,它表示這個方法不可以被子類重寫,但是它這不影響它被子類繼承。我們寫段程式碼來驗證一下: Java程式碼public class ParentClass {     public final void TestFinal() { 

java面試之Finalfinallyfinalize區別

1、final Final可以用於成員變數(包括方法引數),方法、類。 Final成員  作為變數 變數一旦被初始化便不可改變(對於基本型別,指的是值不變;對於物件型別,指的是引用不變),初始化只可能在兩個地方:定義處和建構函式。 作為方法引數 對於基本型別,定義成fi

JAVA面試題解惑系列 – finalfinallyfinalize區別

這是一道再經典不過的面試題了,我們在各個公司的面試題中幾乎都能看到它的身影。 final、finally和finalize雖然長得像孿生三兄弟一樣,但是它們的含義和用法卻是大相徑庭。 這一次我們就一起來回顧一下這方面的知識。 final關鍵字 我們首先來說說final。它可以用於以下四個地方: 1. 定義變

Javafinalfinallyfinalize區別

final、finally、finalize的區別 1、final修飾符(關鍵字)。被final修飾的類,就意味著不能再派生出新的子類,不能作為父類而被子類繼承。因此一個類不能既被abstract宣告

java面試題19--finalfinallyfinalize區別

final: 最終的意思,可以修飾類、變數、成員方法 修飾類:該類不能被繼承 修飾變數:該變數是常量 修飾方法:該方法不能被重寫 finally: 是異常處理的一部分,常用於釋放資源

Javafinalfinallyfinalize區別

1.final:Java中的修飾符、關鍵字 final是java中的修飾符,用於修飾屬性(變數)、方法、類。代表屬性值不可修改、方法不可覆蓋、類不可繼承。 當變數被宣告final時,必須要給定初值,而在以後的引用中只能讀取,不能修改。 例項: 上圖我們定義了final 字

Javafinalfinallyfinalize有什麽區別

ava 部分 控制 重寫 最終 垃圾回收 final 釋放資源 特殊情況 final、finally和finalize的區別是什麽? final: 最終的意思,可以修飾類,方法和變量。 它修飾的類,不能被繼承 它修飾的方法,不能被重寫 它修飾的變量,不能被改變 fin

知識點幹貨--講一講finalfinallyfinalize區別

匹配 main object類 作用域 mage 一次 推送 AC 以及 “橫看成嶺側成峰,遠近高低各不同。不識廬山真面目,只緣身在此山中。” 這首詩來自於宋朝蘇軾《題西林壁》,它的意思是,廬山從正面看,它是一道道連綿起伏的山嶺;從側面看,它是一座巍然聳立的險峰,而從遠處、

finalfinallyfinalize區別

使用 而且 表示 new 真的 相同 析構 size 權限 1、final修飾符(關鍵字)。被final修飾的類,就意味著不能再派生出新的子類,不能作為父類而被子類繼承。因此一個類不能既被abstract聲明,又被final聲明。將變量或方法聲明為final,可以保證他們在

finalfinallyfinalize區別

span class ati 線程 共享變量 exit 共享 tro 區別 final: final關鍵字 簡要說一下final關鍵字,final可以用來修飾什麽 final在類上表示該類不可繼承 final在方法上表示該方法不可被繼承重寫 final在變量上表示該變量初

finalfinallyfinalize 區別

一般性概述:  fianl 修飾 類、方法、變數 ,   修飾類即此類不可繼承擴充套件,修飾方法則此方法不可重寫override,修飾變數即變數不可修改  finally 是java能保證重要程式碼一定要被執行的手段。一般try  finally   或 try catc

javaSE (二十八)異常的兩個分類finalfinallyfinalize區別return在finally前後執行問題異常練習題

1、異常的兩個分類: 編譯時異常: 在編譯某個程式時,有可能會發生的事情,比如檔案找不到,這樣的異常必須在編譯的時候處理,如果不處理編譯通不過 執行時異常: 就是程式設計師犯的錯誤,需要回來修改程式碼 2、final、finally、finalize的區別: final:修飾類不

finalfinallyfinalize區別

           網上已經很多這個話題了,都很不錯,目前準備面試校招,複習一遍java基礎,故作此. 1.final是一個java關鍵字             1) final修飾的類,不能被繼承,所以抽象類,不能使用final修飾(沒有意義,編譯報錯),另外要

finalfinallyfinalize區別之處

1、final修飾符(關鍵字)。被final修飾的類,就意味著不能再派生出新的子類,不能作為父類而被子類繼承。因此一個類不能既被abstract宣告,又被final宣告。將變數或方法宣告為final,可以保證他們在使用的過程中不被修改。被宣告為final的變數必須在宣告時給出變數的初始值,而

Java核心技術36講 第三講:finalfinallyfinalize的不同

final、finally、finalize final可以用來修飾類、方法、變數,分別有不同的意義, final修飾的class不可以繼承擴充套件,final的變數不可以被修改,final的方法不