Java訪問控制修飾符
1. 公有訪問控制符(public)
Java的類是通過包的概念來組織的,包是類的一個鬆散的集合。處於同一個包中的類可以不需要任何說明二方便地相互訪問和引用,而對於不同包中的類,則不行。
但如果一個類被聲明爲public時,它就具有了被其他包中的類訪問的可能性,只要這些其他包中的類在程序中使用了import語句引入了public類,就可以訪問和引用這個類。
每個Java程序的主類必須是public類,也是基於相同的原因。
用public修飾的類變量稱爲公共變量。如果公共變量屬於公共類,則它能被所有的其他類所引用。public修飾符會造成安全性的數據封裝性下降,所以一般減少public域的使用。
2. 保護訪問控制符(protected)
用protected修飾的成員變量可以被3種類所引用:該類自身、與它在同一個包中的其他類、在其他包中該類的子類。使用protected修飾符的主要作用是允許其他包中該類的子類來訪問父類的特定屬性。
3. 默認訪問控制符
默認訪問控制權規定,該類只能被同一個包中的類訪問和引用,而不可以被其他包中的類使用,這種訪問特性又稱爲包訪問性。
同樣道理,類內的變量或方法如果沒有訪問控制符來規定,也就是具有包訪問性。簡單地說,定義在同一個程序中的所有類屬於一個包
4. 私有訪問控制符(private)
用private修飾的變量或方法只能被該類自身所訪問和修改,而且不能被其他任何類(包括該類的子類)來獲取和引用。private修飾符用來聲明那些類的私有成員,它提供了最高的保護級別。
簡單總結一下,按它們訪問範圍由大到小排列如下:
public:任何地方均可訪問
protected:同一包和子類可見
默認:同一包中可見
private:僅該類部可見