4つのアクセスレベルの公開範囲の比較表と、アクセスの可否を示すコード例です。
- public:すべての場所(どのパッケージからでも)アクセス可能。
- protected:同じパッケージ内、およびパッケージが異なっても「継承関係にある子クラス」からアクセス可能。
- 指定なし(package-private):同じパッケージ内からのみアクセス可能(パッケージ不可視)。
- private:宣言された「自クラスの内部」からのみアクセス可能。
package p1;
public class Parent {
public int a = 1;
protected int b = 2;
int c = 3; // パッケージ不可視
private int d = 4;
}