更新時間:2020-04-13 15:50:49 來源:動力節點 瀏覽2185次
final修飾變量:
被final修飾的變量就會變成常量,一旦賦值不能改變。常量可以在初始化時直接賦值,也可以在構造方法里賦值,只能在這兩種方法里二選一,不能不為常量賦值。
常量不會有默認的初始值。
鎖定棧,使棧中的數據不可改變。
靜態常量只能在初始化時直接賦值。
final修飾方法
被final修飾的方法將不能被其子類覆蓋,保持方法的穩定不能被覆蓋。
final修飾類
被final修飾的類將不能被繼承。
final類中的方法也都是final的。
注意:
final不能用來修飾構造方法。
使用final關鍵字修飾一個變量時,是引用不能改變,還是引用的對象不能變?
使用final關鍵字修飾一個變量時,是指引用變量不能變,引用變量所指向的對象中的內容還是可以改變的。例如:對于如下語句:
final StringBuffer a = new StringBuffer("immutable");
執行如下語句將報告編譯器錯誤:
a = new StringBuffer("");
但是。執行如下語句則可以通過編譯:
a.append("broken");
有人在定義方法參數時,可能想采用如下形式來阻止方法內部修改傳進來的參數對象:
public void method(final StringBuffer param){ };
實際上,這是辦不到的,在該方法內部仍然可以增加如下代碼來修改參數對象:
param.append("a");
final,finally,finalize的區別
final:用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。
內部類要訪問局部變量,局部變量必須定義成final類型,例如,一段代碼......
finally:是異常處理語句結構的一部分,是異常的統一出口,表示總是執行。
finalize:是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文件等。JVM不保證此方法總被調用。
以上就是動力節點java培訓機構的小編針對“Javase視頻教程:final修飾符”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
Javase零基礎學習視頻
2020JavaSE進階:http://www.dabaquan.cn/javavideo/144.html
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習