final可以修飾類,成員變量,局部變數和方法。
1.final修飾成員變數
1.final成員變數的初始化
對於final修飾的變量,系統不會預設初始化為0
fina變數初始化方式:
2.final修飾方法
當final用來修飾方法時,表示這個方法不可以被子類別覆蓋。
3.final修飾類
final修飾的列不允許被繼承,編譯器在處理時把它的所有方法都當作final的,因此final類比普通類別擁有更高的效率。而由關鍵字abstract定義的抽象列含有必須由繼承自它的子類別重載實作的抽象方法,因此無法同時用final和abstract來修飾同一個類別。同樣的道理,final也不能用來修飾介面。 final的類別的方法都不能被重寫。但這並不表示final的類別的屬性值也是不可改變的。要做到final類別的屬性值不可改變,必須增加final修飾符。
finally語句只能用於try/catch語句中,並且附帶一個語句區塊,表示這段語句最終總是被執行。
先計算return後面的表達式的值,將值暫時儲存起來,然後計算finally裡的return後的表達式值,算出後也會暫時存儲,
此時就會把之前儲存的值給覆掉。最後,回到前一個return處,從暫時儲存變數的地方把值拿出來,回傳。即得到了這樣的結果。