Java中的static、final、static final的區別

一、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 - 修飾成員方法

方法不可覆蓋,通過類名可以訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章