Java中的四種訪問權限範圍
同一個類 | 同一個包 | 不同包的子類 | 不同包的非子類 | |
---|---|---|---|---|
public |
√ | √ | √ | √ |
protected |
√ | √ | √ | |
缺省(default) |
√ | √ | ||
private |
√ |
說明
Java中有四種訪問權限,其中三種有訪問權限修飾符,分別爲private
、public
、protected
,還有一種不帶任何修飾符(default
)。
-
private
: Java語言中對訪問權限限制的最窄的修飾符,一般稱之爲“私有的”。被其修飾的屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。 -
default
:即不加任何訪問修飾符,通常稱爲“默認訪問權限“或者“包訪問權限”。該模式下,只允許在同一個包中進行訪問。 -
protected
: 介於public
和private
之間的一種訪問修飾符,一般稱之爲“保護訪問權限”。被其修飾的屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。 -
public
: Java語言中訪問限制最寬的修飾符,一般稱之爲“公共的”。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包訪問。