Sobes.tech
Junior

Erzählen Sie über Zugriffssmodifikatoren in Java.

sobes.tech KI

Antwort von AI

Zugriffsmodifikatoren steuern die Sichtbarkeit von Klassen, Klassenmitgliedern (Felder, Methoden, Konstruktoren) in Java.

Es gibt vier Zugriffsmodifikatoren:

  • public
  • protected
  • default (ohne Modifikator)
  • private

Ihre Sichtbarkeit in verschiedenen Kontexten:

Modifikator Innerhalb der Klasse Innerhalb des Pakets In einer Unterklasse (in jedem Paket) Überall
private Ja Nein Nein Nein
default Ja Ja Nein Nein
protected Ja Ja Ja Nein
public Ja Ja Ja Ja

Beispiele für die Verwendung:

public class Parent {

    private int privateField;       // Nur innerhalb der Klasse Parent zugänglich
    int defaultField;              // Innerhalb des Pakets zugänglich
    protected int protectedField;   // Innerhalb des Pakets und in Unterklassen zugänglich
    public int publicField;         // Überall zugänglich

    private void privateMethod() {} // Nur innerhalb der Klasse Parent zugänglich
    void defaultMethod() {}        // Innerhalb des Pakets zugänglich
    protected void protectedMethod() {} // Innerhalb des Pakets und in Unterklassen zugänglich
    public void publicMethod() {}   // Überall zugänglich
}
package another_package;

import some_package.Parent;

public class Child extends Parent {

    void accessFields() {
        // privateField = 10; // Fehler: privat
        defaultField = 20;   // Fehler: default (in anderem Paket)
        protectedField = 30; // Zugänglich: protected (in Unterklasse)
        publicField = 40;    // Zugänglich: public
    }

    void accessMethods() {
        // privateMethod(); // Fehler: privat
        // defaultMethod(); // Fehler: default (in anderem Paket)
        protectedMethod(); // Zugänglich: protected (in Unterklasse)
        publicMethod();  // Zugänglich: public
    }
}

Modifikatoren werden für Kapselung und Verwaltung der API von Klassen verwendet.