クラスで使用できるアクセス修飾子の種類
- public
-
protectedクラスでは使用不可能 - 修飾子なし(何も記述しなかった場合)
-
privateクラスでは使用不可能
の2種類存在する。
※"protected"と"private"はクラスのアクセス修飾子に使うことができない。
クラスのアクセス修飾子のアクセスについて
同一パッケージで、以下の2パターンを準備する。
//クラスのアクセス修飾子が"public"の場合。
package abc;
public class Ab{
public int aa;
protected int ba;
int ca;
private da;
}
// クラスのアクセス修飾子が記述されていない場合。
package abc;
class Ef{
public int ac;
protected int bc;
int cc;
private int dc;
}
異なるパッケージdefから、上記2つのクラスのインスタンスを生成する。
package def;
import abc.Ab;
public class Xyz{
Ab a = new Ab(); //"public"修飾子は生成可能
Ef c = new Ef(); //修飾子が記述されていない場合は生成不可能
}
フィールド・メソッドのアクセス修飾子については、こちら