聲明爲final的變量被標識爲不可改變的,也就是說不能再對此變量進行賦值。但是變量引用的對象,如果提供了寫的接口,則對象的屬性依然是可以改變的。
String類型的對象,由於未提供寫的接口,所以是不可改變的。
final變量
聲明爲final的成員變量(非靜態變量),必須在構造對象的過程中完成初始化。
1)定義處。也就是定義變量時直接賦值。
2)初始化塊
3)構造函數
聲明爲final的靜態變量,只有兩種初始化的方式:
1)定義處。
2)靜態初始化塊中
聲明爲final的局部變量,必須且只能在使用前初始化一次,不使用可以不必初始化。
final類
如果一個類被聲明爲final類,則它不能有子類。
final函數
如果一個函數被聲明爲final,意味着它不再能被子類覆寫。
final 參數
和final變量類似,只能引用,不能賦值。
const
java未使用關鍵字const,但是這個關鍵字是保留的。