java中的修飾符分類:
- 權限修飾符: private, default, protected, public
- 狀態修飾符: static, final
- 抽象修飾符: abstract
權限修飾符
我們來看看四種權限修飾符的權限大小
(注意:沒有default這個關鍵字,它就是代表默認的意思,即什么修飾符也不加)
一般,默認的可見性就是包可見性(package visibility)
1. public修飾符
具有最大的訪問權限,可以訪問任何一個CLASSPATH下的類,接口、異常等。它往往對於對外的情況,
也就是對象或類對外的一種接口形式。
2. default
有時候也稱friendly,它是針對本包訪問而設計的,任何處於本包下的類,接口,異常等,都可以互相訪問,
即使是父類沒有用protected修飾的成員也可以。
3. protected修飾符
它的主要作用就是保護子類的。它的含義在於子類可以使用它修飾的成員,其他的不可以,它相當於
傳遞給子類的一種繼承的東西。
4. private修飾符
它的訪問權限僅限於類的內部,是一種封裝(Java的三大特點之一,繼承,封裝和多態)的體現。例如,
大多數的成員變量都可以修飾為private,它們不希望被其他任何外部類訪問。
看看這個表
本類 | 同一個包下(子類和無關類) | 不同包下(子類) | 不同包下(無關類) | |
---|---|---|---|---|
public | 可見 | 可見 | 可見 | 可見 |
protected | 可見 | 可見 | 可見 | 不可見 |
default | 可見 | 可見 | 不可見 | 不可見 |
private | 可見 | 不可見 | 不可見 | 不可見 |