java中使用final關鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變?


java中使用final關鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變?

  是引用對象的地址值不能變,引用變量所指向的對象的內容是可以改變。

  final變量永遠指向這個對象,是一個常量指針,而不是指向常量的指針。

例如:final StringBuffer sbu = new StringBuffer(“abc”);

    在對其進行重新賦值

    sbu = new StringBuffer(“”);

會出現編譯錯誤,被final修飾的變量是不能被重新賦值的。

  sbu.append(“d”);

是可以編譯通過的;

 

final:最終。作為一個修飾符

1、可以修飾類、變量、函數。

2、被final修飾的類不可以被繼承。為了避免被繼承,被子類復寫功能。

3、被final修飾的方法不可以被復寫。

4、被final修飾的變量是一個常量只能賦值一次,既可以修飾成員變量,也可以修飾局部變量。

       當在描述事物時,一些數據的出現值是固定的,那么這時為了增強閱讀性,都給這些值起個名字,方便於閱讀。

       而這個值不需要改變,所以加上final修飾,作為常量:常量的書寫規范所有字母都大寫,如果由多個單詞組成,單詞間通過_連接。

5、內部類定義在類中的局部位置上時,只能訪問該局部被final修飾的局部變量。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM