パッケージに表示されます。デフォルト。修飾子は必要ありません。
クラスにのみ表示されます(プライベート)。
世界に公開(公開)。
パッケージとすべてのサブクラスに表示されます(protected)。
変数とメソッドは、呼び出される修飾子なしで宣言できます。デフォルトの例:
String name = "john";
public int age(){
return age;
}
プライベートアクセス修飾子-プライベート:
プライベートとして宣言されたメソッド、変数、およびコンストラクターは、宣言されたクラス自体内でのみアクセスできます。プライベートアクセス修飾子は、最も制限的なアクセスレベルです。クラスとインターフェースをプライベートにすることはできません。
プライベートとして宣言された変数は、クラスにパブリックゲッターメソッドが存在する場合、クラスの外部からアクセスできます。
プライベート修飾子の使用は、オブジェクトがそれ自体をカプセル化し、データを外部から隠す主な方法です。
例:
Public class Details{
private String name;
public void setName(String n){
this.name = n;
}
public String getName(){
return this.name;
}
}
パブリックアクセス修飾子-パブリック:
クラス、メソッド、コンストラクター、インターフェースなどのpublic宣言は、他のどのクラスからでもアクセスできます。したがって、パブリッククラス内で宣言されたフィールド、メソッド、ブロックには、Javaユニバースに属する任意のクラスからアクセスできます。
ただし、アクセスしようとしているパブリッククラスが別のパッケージにある場合でも、パブリッククラスをインポートする必要があります。
クラス継承のため、クラスのすべてのパブリックメソッドと変数は、そのサブクラスによって継承されます。
例:
public void cal(){
}
保護されたアクセス修飾子-保護された:
スーパークラスで保護されていると宣言されている変数、メソッド、およびコンストラクターには、別のパッケージのサブクラス、または保護されたメンバーのクラスのパッケージ内のクラスからのみアクセスできます。
保護されたアクセス修飾子は、クラスとインターフェイスに適用できません。メソッド、フィールドは保護されていると宣言できますが、インターフェースのメソッドとフィールドは保護されていると宣言できません。
保護されたアクセスにより、サブクラスはヘルパーメソッドまたは変数を使用できるようになりますが、関連のないクラスはそれを使用できません。
class Van{
protected boolean speed(){
}
}
class Car{
boolean speed(){
}
}
private
パッケージ内の他のクラスから隠します。public
パッケージ外のクラスに公開します。protected
は、public
サブクラスのみに制限されたバージョンです。