使用final 關鍵字修飾乙個變數時,是引用不能變,還
是引用的物件不能變?
使用final 關鍵字修飾乙個變數時,是指引用變數不能變,引用變數所指向的物件中的內容還是可以改
變的。例如,對於如下語句:
final stringbuffer a=new stringbuffer("immutable");
執行如下語句將報告編譯期錯誤:
a=new stringbuffer("");
但是,執行如下語句則可以通過編譯:
有人在定義方法的引數時,可能想採用如下形式來阻止方法內部修改傳進來的引數物件:
public void method(final stringbuffer param)
實際上,這是辦不到的,在該方法內部仍然可以增加如下**來修改引數物件: final關鍵字修飾的變數
final意義 最終的,不可改變的。1 修飾變數,為常量,值不可變 2 修飾物件,值可變,引用不變 3 修飾方法,方法不可重寫 4 修飾類,無子類,不可以被繼承,更不可能被重寫。1.final修飾的基本型別變數必須賦值,但是只能賦值一次 可以在宣告時顯示初始化賦值,或者在構造方法中初始化賦值,或者在...
final關鍵字的使用
1 final修飾類 格式 public final class 類名稱 意義 此類不能有子類,即次類的成員方法都無法覆蓋重寫 2 final修飾成員方法 格式 修飾符 final 返回值型別 方法名稱 引數列表 意義 此方法若在父類中,子類中無法被重寫。注意 對於類和方法不能由abstract和f...
final關鍵字的使用
1 final可以用來修飾的結構 類 包 括內部類 方法 變 量 color 類 包括內部 類 方 法 變數 2 final用來修飾乙個類 俗稱太監類 此類不 能被其他 類繼 承 color 此類不能被其 他類繼承 比如 string類 system類 stringbuffer類 3 final用來...