final關鍵字修飾變數的幾點思考

2021-06-26 14:06:01 字數 603 閱讀 6244

final關鍵字修飾變數時,既可以修飾成員變數。又可以修飾區域性變數。

若修飾成員變數,必須對變數賦值一次,且只能賦值一次。準確來說應該是初始化一次,儘管在申明成員變數的過程中,系統會預設對變數進行初始化(就個人理解而言,一旦成員變數前加有final修飾符,系統不會對其進行預設初始化)。但還必須進行其他三種初始化過程(顯示初始化、構造**塊初始化、建構函式初始化)的一種。如下圖中的第

一、二、三種方法都是可行的。但第四種方法,儘管也對變數進行了賦值,但其不是初始化過程,其對變數x的賦值並不是在物件例項化的過程中自動完成的,而必須通過呼叫show()方法。所以說,該方法不可行。

class demo 

final int x=2; //第一種初始化成員變數方法

public void show()

public static void main(string args)

}

若修飾方法中定義的區域性變數:則至多只能對變數賦值一次。也就是說,當在方法中並未呼叫該變數時,該區域性變數不進行賦值也是可以的。(相對比而言,成員變數則要求即使不呼叫成員變數也必須進行初始化賦值。)但當方法有呼叫該變數時,必須對其進行賦值,有兩種方法如上圖所示。

final關鍵字修飾的變數

final意義 最終的,不可改變的。1 修飾變數,為常量,值不可變 2 修飾物件,值可變,引用不變 3 修飾方法,方法不可重寫 4 修飾類,無子類,不可以被繼承,更不可能被重寫。1.final修飾的基本型別變數必須賦值,但是只能賦值一次 可以在宣告時顯示初始化賦值,或者在構造方法中初始化賦值,或者在...

使用final 關鍵字修飾乙個變數的

使用final 關鍵字修飾乙個變數時,是引用不能變,還 是引用的物件不能變?使用final 關鍵字修飾乙個變數時,是指引用變數不能變,引用變數所指向的物件中的內容還是可以改 變的。例如,對於如下語句 final stringbuffer a new stringbuffer immutable 執行...

Java中final關鍵字的幾點理解

注意點 1.乙個既是static又是final的域只佔據一段不能改變的儲存區域。2.final關鍵字只能用來修飾基本資料型別,不能用來修飾其他資料型別 包括引用資料型別或者陣列型別等 因為既是final使得引用不發生變化,但是物件本身可以獲得修改。3.public static final int ...