一、final
1 - 修飾成員變量:表示常量,一但賦值不可修改。
對於基本類型的數據,final會將值變爲一個常數。
對於對象句柄(可稱爲指針或者引用),final會將句柄變爲一個常數。
2 - 修飾成員方法:
(1)不可以修飾構造方法。
(2)private修飾的方法默認是final的,不能被覆蓋。
(3)普通的方法,被修飾後可以被繼承,不能覆蓋。
3 - 修飾類:類不能被覆蓋,類中的方法默認是final
二、static
1 - 修飾成員變量
不依賴類的特定實例,被類的所有實例共享。static不可修飾局部變量。
2 - 修飾成員方法
不依賴類的特定實例,被類的所有實例共享。
3 - 形成靜態的static代碼塊
三、static final
1 - 修飾成員變量
static修飾表示它可以通過類名訪問,只有一個;final修飾表示它是一個常數。兩個結合一起表示,一但賦值,不可修改,通過類名可以訪問。
*對於一些容器類型(ArryList、HashMap..)的實例變量,不改變容器本身,但可以修改容器中的存放對象。
2 - 修飾成員方法
方法不可覆蓋,通過類名可以訪問。