final關鍵字(數據,方法,類)

final關鍵字用來修飾類的數據,方法以及一個類,下面分別總結了final在這三個方面的用法:

1.修飾一個數據

    a.如果這個數據是一個基本類型,那麼它在編譯時就確定了值 ,並且程序運行時是不可改變的。如果這個數據是對象引用類型的,那麼這個引用恆定不變,而對象自身是可以改變的。

    b.final修飾的數據可以是空白的,即在定義處未被賦值的,編譯器爲了保證數據在使用前必須初始化,要求在每個構造器中對空白final進行賦值。

    c.final參數,java允許在參數列表裏使用final修飾,被修飾的數據只能在方法中被讀取,但無法被修改。

2.修飾一個方法

    a.使用final修飾方法的兩個原因:主要原因是禁止子類覆寫該方法,關閉了動態綁定(多態),次要原因是效率問題,即內嵌調用,內嵌調用對於短代碼效率高,對於長代碼效率低,這種提升效率的做法不被提倡。

    b.private方法都隱含着指定爲final的。由於final修飾的方法本來就不能被子類覆寫,這和private的效果一致。如果試圖覆寫一個private方法,編譯器不會報錯,這是因爲你並沒有覆蓋基類的方法,只是在子類中生成了一個新的方法。

3.final修飾類

    final修飾的類不能被繼承,同時final類所有方法也都隱式的指定爲是final的。

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