|
|
 |
連載
Java
アクセス修飾子 |
|
1.アクセス修飾子
アクセス修飾子はクラスやフィールド、メソッドに付けることができますが、無指定、protected という具合にいろいろと出て来ると混乱してしまいます。
ここでは簡単なまとめをフィールドでのサンプルで説明します。アクセス修飾子は下記のような種類があります。
クラス、インターフェイスに対するアクセス修飾子
| キーワード |
説明 |
| public |
全てのクラスにアクセスを許可する。 |
| 無指定 |
同じパッケージのコードにのみアクセスを許可する。 |
クラスの中でのフィールドとメソッドに対するアクセス修飾子
| キーワード |
説明 |
| public |
全てのクラスにアクセスを許可する。 |
| protected |
同じパッケージのコード、又は別のパッケージ内のサブクラスにのみアクセスを許可する。 |
| private |
同じクラス内のコードにのみアクセスを許可する。 |
| 無指定 |
同じパッケージのコードにのみアクセスを許可する。 |
インターフェイスの中でのフィールドとメソッドに対するアクセス修飾子
| キーワード |
説明 |
| public (デフォルト) |
全てのクラスにアクセスを許可する。 |
| 無指定 |
全てのクラスにアクセスを許可する。 |
|
2.アクセスするクラスの作成
各種のアクセス修飾子が付いた変数を持つクラスを、次のような条件でアクセスして行きます。
ここでは元のクラスをパッケージ名 access1、別のパッケージを access2 に置くことにします。
- 同じパッケージでの通常クラスからアクセス
- 同じパッケージでのサブクラスからアクセス
- 別のパッケージでの通常クラスからアクセス
- 別のパッケージでのサブクラスからアクセス
|
 |
| |
1: package access1;
2:
3: public class SuperClass {
4: // スーパークラス
5: public int d1 = 10;
6: protected int d2 = 20;
7: private int d3 = 30;
8: int d4 = 40;
9: }
|
|
| 各種のアクセス修飾子が付いた変数を持つクラス (SuperClass.java) |
|
1行目 :パッケージ名の設定
5-8行目:各種のアクセス修飾子が付いたint変数
|
| |
|
|