Java中四種訪問許可權總結
阿新 • • 發佈:2019-02-08
一、Java中有四種訪問許可權, 其中三種有訪問許可權修飾符,分別為private、public、protected,還有一種不帶任何修飾符(default)。
1. private: Java語言中對訪問許可權限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的屬性以及方法只能被該類的物件 訪問,其子類不能訪問,更不能允許跨包訪問。
2. default:即不加任何訪問修飾符,通常稱為“預設訪問許可權“或者“包訪問許可權”。該模式下,只允許在同一個包中進行訪問。
3. protected: 介於public 和 private 之間的一種訪問修飾符,一般稱之為“保護訪問許可權”。被其修飾的屬性以及方法只能被類本 身的方法及子類訪問,即使子類在不同的包中也可以訪問。
4. public: Java語言中訪問限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且 允許跨包訪問。
二、下面用表格來展示四種修飾符的訪問許可權範圍:
同一個類 |
同一個包 |
不同包的子類 |
不同包的非子類 |
|
public |
√ |
√ |
√ |
√ |
protected |
√ |
√ |
√ |
|
預設(default) |
√ |
√ |
||
private |
√ |
(PS:其中private和protected不能修飾一般的類,否則編譯就會報“modifier private not allowed here”,如果是內部類就另當別論了)