java類成員之訪問控制

在java中,定義了三個修飾符用來控制類、類的屬性以及類的方法等的訪問範圍。通過這三個修飾符,可以定義四種程度的限制。

訪問控制修飾符的限制程度從高到底爲:private<default<protected<public

private:這是限制最嚴格的一個修飾符,使用這個關鍵字來限制的屬性或者方法,只能在同一個類中被訪問。也就是說,在這個類文件之外,這些屬性或者方法是被隱藏的。這個修飾符最常用語修飾符中的全局變量。注意,這個修飾符不能用在類的前面。

default:default不是關鍵字,只是對類,類的屬性以及類的方法的訪問權限的一種稱呼。如果在類、類的屬性和類的方法前面沒有任何的修飾符,則我們說它的訪問權限是default的。在這種情況下,只有類本省或者同一個包中的其它類可以訪問這些屬性或方法。而對於其他包中的類而言是不可訪問的。

protected:protected修飾符修飾的屬性或者方法,可以被同一個類,同一個包中的類以及繼承子類訪問。注意:這個修飾符同樣不能用於類前面。

public:這個修飾符對類、類的方法以及類的方法均可用。它的限制是最寬鬆的,使用這個修飾符修飾的類屬性、類的方法可以被任何其他的類訪問,無論這個類是否在同一個包中,以及是否是子類等。

一般來說,我們應該將和其它類無關的屬性或者方法設置爲private,只需要將它給其它類訪問的屬性或方法纔將它設置爲public或者protected,或者不加任何修飾符,讓其爲default。

修飾符的限制範圍
修飾符 同一個類中 同一個包中 子類中
全局
private Yes


default Yes
Yes


 protected Yes
Yes
Yes

 public Yes
Yes
Yes
Yes

注意:default不是java修飾符,它只是表明了一種訪問限制狀態。

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