final意義:最終的,不可改變的。
1、修飾變數,為常量,值不可變;
2、修飾物件,值可變,引用不變;
3、修飾方法,方法不可重寫;
4、修飾類,無子類,不可以被繼承,更不可能被重寫。
1.final修飾的基本型別變數必須賦值,但是只能賦值一次(可以在宣告時顯示初始化賦值,或者在構造方法中初始化賦值,或者在初始化塊中初始化賦值)。
你在宣告時: private final int j; 沒有顯示初始化,那麼就必須在構造方法中初始化賦值,或者在初始化塊中初始化賦值,否則編譯時出錯,正因為你在構造方法裡面:j=2;給j賦值了,所以編譯通過;你把j=2注釋掉,試一下就知道了;
2.final修飾的引用型別變數賦值之後,不能再指向其他物件!但是所引用物件的內部屬性的值是可以改變的。
final關鍵字修飾變數的幾點思考
final關鍵字修飾變數時,既可以修飾成員變數。又可以修飾區域性變數。若修飾成員變數,必須對變數賦值一次,且只能賦值一次。準確來說應該是初始化一次,儘管在申明成員變數的過程中,系統會預設對變數進行初始化 就個人理解而言,一旦成員變數前加有final修飾符,系統不會對其進行預設初始化 但還必須進行其他...
使用final 關鍵字修飾乙個變數的
使用final 關鍵字修飾乙個變數時,是引用不能變,還 是引用的物件不能變?使用final 關鍵字修飾乙個變數時,是指引用變數不能變,引用變數所指向的物件中的內容還是可以改 變的。例如,對於如下語句 final stringbuffer a new stringbuffer immutable 執行...
static關鍵字 final 關鍵字
特點 隨著類的載入而載入,也就是說靜態會隨著類的消失而消失,說明他的生命週期最長 靜態變數 static 關鍵字修飾成員變數,使用 類名.變數名 的形式來訪問,也可以使用 例項物件.變數名 的形式來訪問。靜態方法 static 關鍵字修飾成員函式,靜態方法可以使用 類名.方法名 的形式來訪問,也可以...