1. 程式人生 > >java 訪問許可權修飾符理解

java 訪問許可權修飾符理解

訪問許可權修飾符
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
同一個類         √            √           √        √
同一個包         √            √           √
子類             √            √
不同包           √