クラスとインタフェースに対するアクセス制御
なし | public |
---|---|
同じパッケージからのみ使える | 他のパッケージから使える |
- 覚えるポイント:
- アクセス制御は
なし
かpublic
の2種類
- アクセス制御は
クラスのメソッドとフィールドに対するアクセス制御
publicなしクラス | publicありクラス | |
---|---|---|
private | クラス内でのみ使える | クラス内でのみ使える |
なし | 同じパッケージからのみ使える | 同じパッケージからのみ使える |
protected | 同じパッケージからのみ使える | 同じパッケージとサブクラスからのみ使える |
public | 同じパッケージからのみ使える | 他のパッケージから使える |
- 覚えるポイント:
- クラスのアクセス制御 と メソッド(フィールド)のアクセス制御のうち、制約が厳しい方が優先させる
- 制約の厳しさ比較
- public < protected < なし < private
インタフェースのメソッドとフィールドに対するアクセス制御
publicなしインタフェース | publicありインタフェース | |
---|---|---|
なし | 同じパッケージからのみ使える | 他のパッケージから使える |
public | 同じパッケージからのみ使える | 他のパッケージから使える |
- 覚えるポイント:
- アクセス制御は
なし
かpublic
の2種類 - インタフェースのアクセス制御 と メソッド(フィールド)のアクセス制御のうち、インタフェースの アクセス制御が優先される
- publicなしインタフェースのメソッド(フィールド):
同じパッケージからのみ使える
パターンのみ - publicありインタフェースのメソッド(フィールド):
他のパッケージから使える
パターンのみ
- アクセス制御は