Direkt zum Inhalt
Urkunden
Java SchlüsselwörterJava-ArraysJava Objektorientierte ProgrammierungJava File HandlingEinführung in JavaGrundlagen der Java-Sprache

Java Modifikatoren

Java-Modifikatoren sind Schlüsselwörter, mit denen du die Eigenschaften von Klassen, Methoden und Variablen ändern kannst. Sie definieren die Zugänglichkeit, das Verhalten und den Umfang dieser Komponenten. Modifikatoren werden in zwei Kategorien unterteilt: Zugriffsmodifikatoren und Nicht-Zugriffsmodifikatoren.

Zugriffsmodifikatoren

Zugriffsmodifikatoren steuern die Sichtbarkeit von Klassen, Methoden und Variablen. Die vier Zugriffsmodifikatoren in Java sind:

  • öffentlich: Das Mitglied ist von jeder anderen Klasse aus zugänglich.
  • geschützt: Das Mitglied ist innerhalb seines eigenen Pakets und von Unterklassen zugänglich.
  • Standard (kein Schlüsselwort): Das Mitglied ist nur innerhalb seines eigenen Pakets zugänglich.
  • privat: Das Mitglied ist nur innerhalb seiner eigenen Klasse zugänglich.

Beispiel für Zugriffsmodifikatoren


public class Example {
    public int publicVar;
    protected int protectedVar;
    int defaultVar; // default access
    private int privateVar;
    
    public void display() {
        System.out.println("Public Variable: " + publicVar);
        System.out.println("Protected Variable: " + protectedVar);
        System.out.println("Default Variable: " + defaultVar);
        System.out.println("Private Variable: " + privateVar);
    }
}

In diesem Beispiel ist publicVar von überall zugänglich, protectedVar ist innerhalb des Pakets und der Unterklassen zugänglich, defaultVar ist innerhalb des Pakets zugänglich und privateVar ist nur innerhalb der Klasse Example zugänglich.

Nicht-Zugriffsmodifikatoren

Nicht-Zugriffsmodifikatoren bieten zusätzliche Funktionen wie die Kontrolle der Vererbung, die Gewährleistung der Unveränderlichkeit und die Definition besonderer Eigenschaften. Einige gängige Nicht-Zugriffsmodifikatoren sind:

  • statisch: Zeigt an, dass das Mitglied zur Klasse gehört und nicht zu den Instanzen der Klasse.
  • final: Wird verwendet, um Konstanten zu deklarieren, Methodenüberschreibungen und Vererbung zu verhindern.
  • abstrakt: Wird verwendet, um abstrakte Klassen und Methoden zu deklarieren.
  • synchronisiert: Wird im Multithreading verwendet, um sicherzustellen, dass immer nur ein Thread auf eine Methode oder einen Block zugreifen kann.
  • flüchtig: Stellt sicher, dass der Wert einer Variablen immer aus dem Hauptspeicher gelesen wird.
  • transient: Verhindert die Serialisierung von Klassenfeldern.

Beispiel für Nicht-Zugriffsmodifikatoren


public class NonAccessExample {
    public static final int CONSTANT = 100;

    public static void main(String[] args) {
        System.out.println("Constant Value: " + CONSTANT);
    }
}

In diesem Beispiel ist CONSTANT eine statische und finale Variable, d.h. sie gehört zur Klasse und kann nicht geändert werden.

Tipps und bewährte Praktiken

  • Verwende Zugriffsmodifikatoren mit Bedacht: Schränke den Zugang so weit wie möglich ein, um deine Daten zu schützen. Verwende private für Felder, es sei denn, sie müssen außerhalb der Klasse zugänglich sein.
  • Statische Verwendung: Verwende static für Hilfsmethoden und Konstanten, die keinen Objektstatus benötigen.
  • Final für Konstanten: Deklariere Konstanten mit final und static, um Änderungen zu verhindern.
  • Abstrakte Klassen: Verwende abstract Klassen als Basisklassen, die nicht direkt instanziiert werden sollten.
  • Synchronisiert für Thread Safety: Verwende synchronized, um die Fadensicherheit zu gewährleisten, wenn es nötig ist, aber sei dir der möglichen Leistungseinbußen bewusst.
  • Flüchtig für Sichtbarkeit: Verwende volatile für Variablen, die zwischen Threads geteilt werden, um die Sichtbarkeit von Änderungen zu gewährleisten.
  • Transient für die Serialisierung: Verwende transient, um Felder von der Serialisierung auszuschließen, wenn sie nicht Teil des serialisierten Objekts sein sollen.

Java Grundlagen lernen

Baue deine Java-Kenntnisse von Grund auf auf und beherrsche Programmierkonzepte.
Kostenloses Lernen beginnen