1. 程式人生 > >四種訪問許可權修飾符的區別

四種訪問許可權修飾符的區別


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