Java
において、public
、private
および protected
はアクセス修飾子であり、クラス、メソッド、変数の可視性を制御します。
public#
- どこからでもアクセス可能
- 他のクラスからそのメンバーへの参照を作成できます。
public class MyClass {
public int myPublicVariable;
}
private#
- 定義されたクラス内でのみアクセス可能。
- 他のクラスからそのメンバーに直接アクセスできません。
public class MyClass {
private int myPrivateVariable;
private void myPrivateMethod() {
// MyClass 内でのみ使用可能
}
}
protected#
- 同じパッケージ内の他のクラスおよびすべてのサブクラスからアクセス可能。
- 継承される必要があるクラスのメンバーに適用されます。
public class MyClass {
protected int myProtectedVariable;
}
デフォルトアクセス修飾子#
デフォルトアクセス修飾子(修飾子を使用しない場合)は、同じパッケージ内でのアクセス権限を持ちます。
class MyClass {
int myDefaultVariable; // デフォルトアクセス修飾子
}
まとめ#
public
:どこからでもアクセス可能private
:クラス内のみアクセス可能protected
:同じパッケージおよびサブクラスからアクセス可能- デフォルト:同じパッケージ内でアクセス可能