Java中的權限修飾符一共有四個,分別爲private、default、protected和public,開放程度逐步擴大。設計
它主要的做用就是用來保護私有屬性的,是封裝特性的一種體現。通常類中的私有屬性與對象,當咱們不但願外部可以直接進行操做時,將其定義爲private,使其成爲外部不可見,只能在類的內部進行直接訪問與操做,其中類的內部不只包括該類的內部,也包括其內部類中。對象
它是針對本包訪問而設計的,任何處於本包下的類、接口、異常等,均可以對其進行直接訪問與操做,同時也僅限於本包之中,其子包中的類和不屬於同一包中的子類都沒法進行直接訪問與操做。當屬性前不寫明修飾符時默認使用該修飾符進行修飾。繼承
它主要的做用就是用來保護子類的。它的意義在於只容許子類使用它修飾的屬性,而非子類則不能夠,是繼承特性的一種體現。除此之外,其還具備default同樣容許本包內部類進行直接訪問與操做其修飾屬性的特性。接口
它具備最大的訪問權限,其修飾的屬性能夠被任何一個在CLASSPATH下的類、接口、異常等訪問和直接操做。它每每用於對外的狀況,是對象或類對外進行交互的一種形式。table
修飾符 | 類內部 | 包內部 | 子類 | 包外部 |
---|---|---|---|---|
private | √ | × | × | × |
default | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |