使用final關鍵字修飾一個引用類型變量時,是指引用變量不能變,引用變量所指向的對象中的內容還是可以改變的。
測試代碼如下:
package reviewTest; /** * @ClassName: FinalTest * @Description: 測試final修飾引用類型 * @author Kingram * @date 2018年7月27日 * */ public class FinalTest { public static void main(String[] args) { final StringBuffer a=new StringBuffer("Hello!"); // a = new StringBuffer(""); 編譯錯誤,因為final修飾的引用類型變量,引用對象地址不可改變 a.append("Final"); // 編譯通過,final修飾的引用類型變量,所引用的對象的值可以改變 method(a); System.out.println(a); } // 如果在定義方法參數時希望方法內部不能修改此參數的值,這樣做是無效的,理由同上 public static void method(final StringBuffer param) { param.append("Test"); } } /* output: Hello!FinalTest*/
