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