四種訪問許可權修飾符的區別
訪問許可權修飾符
a、私有許可權(private)
private可以修飾資料成員,構造方法,方法成員,不能修飾類(此處指外部類,不考慮內部類)。被private修飾的成員,只能在定義它們的類中使用,在其他類中不能呼叫。
b、預設許可權(default)
類,資料成員,構造方法,方法成員,都能夠使用預設許可權,即不寫任何關鍵字。預設許可權即同包許可權,同包許可權的元素只能在定義它們的類中,以及同包的類中被呼叫。
c、受保護許可權(protected)
protected可以修飾資料成員,構造方法,方法成員,不能修飾類(此處指外部類,不考慮內部類)。被protected修飾的成員,能在定義它們的類中,同包的類中被呼叫。
如果有不同包的類想呼叫它們,那麼這個類必須是定義它們的類的子類。
d、公共許可權(public)
public可以修飾類,資料成員,構造方法,方法成員。被public修飾的成員,可以在任何一個類中被呼叫,不管同包或不同包,是許可權最大的一個修飾符。
PS:
e、並不是每個修飾符都可以修飾類(指外部類),只有public和default可以。
f、所有修飾符都可以修飾資料成員,方法成員,構造方法。
g、為了程式碼安全起見,修飾符不要儘量使用許可權大的,而是適用即可。比如,資料成員,如果沒有特殊需要,儘可能用private.
h、修飾符修飾的是“被訪問”的許可權。
public protected default private
同一個類 √ √ √ √
同一個包 √ √ √
子類 √ √
不同包