final修飾符具有“不可改變的”的含義,他可以修飾非抽象類、非抽象成員方法和變量。
用final修飾的類不能被繼承,沒有子類;
用final修飾的方法不能被子類的方法覆蓋;
用final修飾的變量表示常量,只能被賦一次值。
final類
不是專門為繼承而設計的類。類本身的方法之間有復雜的調用關系,假如隨意創建這些類的子類,子類有可能會錯誤地修改父類的實現細節;
出于安全的原因,類的實現細節不允許有任何改動;
在創建對象模型時,確信這個類不會再被擴展。
final方法
???
??? 在某些情況下,出于安全的原因,父類不允許子類覆蓋某個方法,此時可以把這個方法聲明為final類型。
final變量
???
??? 用final修飾的變量表示取值不會改變的常量。
final變量具有以下特征:
??? (1)final修飾符可以修飾靜態變量、實例變量和局部變量,分別表示靜態常量、實例常量和局部常量。
??? Tips:
?????? 靜態常量一般以大寫字母命名,單詞之間以“_”符號分開。如:
public static final int MAX_VALUE = 2147483647;
??? (2)final變量都必須顯式地初始化。而曾經提到過沒有final修飾的成員變量可以不必顯式初始化。
??? (3)final變量只能賦一次值。
??? (4)如果將引用類型的變量用final修飾,那么該變量只能始終引用一個對象,但可以改變對象的內容。
在程序中通過final修飾符來定義變量,具有以下作用:
提高程序的安全性,禁止非法修改取值并且不允許改變的數據;
提高程序代碼的可維護性;
提高程序代碼的可讀性。
posted on 2006-11-29 00:45
EricWong 閱讀(283)
評論(0) 編輯 收藏 所屬分類:
Java