final修飾的是一個基本對象,就表示這個變量被賦予的值是不可變的,它是一個常量。而且表示它只能被賦值一次。java
被final定義的變量必須被初始化:1》在定義時被初始化。 2》final變量在初始化模塊中初始化,不能夠在靜態塊中初始化。 3》靜態final變量在靜態初始化塊中初始化,不能夠在初始化模塊中初始化。 4》final變量能夠在類的構造器中初始化,但靜態final變量不能夠。spa
被final定義的方法,不能夠被子類重寫,但不影響它被子類繼承。code
被final定義的類不能被繼承,因爲關鍵字abstract定義的抽象類必須被繼承它的子類重寫而實現抽象類中的方法,因此final和abstract不能用來修飾同一個類。對象
finally關鍵字只能用於try/catch語句中:blog
try{ }catch{ }finally{ System.out.println("執行了finally語句塊"); }
輸出"執行了finally語句塊"說明程序拋出了異常,執行finally語句塊捕獲程序拋出的異常以後,即不加處理,
也不繼續向上拋出異常。
並且finally語句塊不受return,continue和break關鍵字的阻礙。
inalize關鍵字最後,咱們再來看看finalize,它是一個方法,屬於java.lang.Object類,它的定義以下:Java代碼protected void finalize() throws Throwable { }衆所周知,finalize()方法是GC(garbage collector)運行機制的一部分。