結論:final 修飾物件,物件的內容可變,參考不可變,
final 應用于類、方法和變數、物件時意義是不同的,但本質是一樣的,都表示不可改變,
但是修飾物件時要注意:因為物件是參考型別,存盤的是地址,所以final修飾之后,指的是參考地址不可變,
案例:
final char[] chars = {'1','2','3'};//定義final修飾的char陣列物件
System.out.println(chars);
System.out.println("chars陣列地址" + chars.hashCode());
chars[0] = '0';
chars[2] = 'b';
System.out.println(chars);
System.out.println("chars陣列地址" + chars.hashCode());
char[] chars2 = new char[3];
// chars = chars2;//嘗試修改物件的參考,結果報錯了
/*運行結果:
123
chars陣列地址460141958
02b
chars陣列地址460141958
*/
//由此可見,可以修改陣列物件內容且陣列的地址不會改變,而且不可以修改陣列的參考
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/541339.html
標籤:其他
上一篇:動態代理原理
