Exkurs - Modifzierer

Modifizierer in Java

Eine Deklaration von Klassen, Attributen oder Methoden kann Modifizierer enthalten. Dies sind Schlüsselwörter, die zum Beispiel die Veränderlichkeit oder die Sichtbarkeit festlegen.

Modifizierer für Konstanten

Mit dem Schlüsselwort final kann ein Attribut als Konstante deklariert werden. Dem Attribut kann dann genau einmal ein Wert zugewiesen werden, z. B.

    final double pi=3.14;

Modifizierer für Zugriff

Zugriffsmodifizierer bestimmen, ob eine Klasse, ein Attribut oder eine Methode für andere Klassen und Objekte sichtbar ist oder nicht. Wird kein Zugriffsmodifizierer verwendet, so haben standardmäßig alle Klassen des gleichen Pakets Zugriff. Folgende Einstellungen sind möglich:

Modifizierer Bedeutung
public Alle Klassen haben Zugriff.
private Nur die Klasse (bzw. das Objekt) selbst hat Zugriff.
protected Alle Klassen des gleichen Paketes sowie (ergänzend zur Standardeinstellung) deren Unterklassen haben Zugriff.

In der Regel deklarieren wir Klassen mit dem Modifizierer public und Attribute mit dem Modifizierer private. Der Zugriff auf die Attribute erfolgt dann, falls gewünscht, nur über sogenannte get- ud set-Methoden, die dann als public bereitgestellt werden.

Klassenattribute und -methoden

Um den Zugriff auf Attribute oder Methoden (wie etwa die main-Methode) zu ermöglichen, ohne vorher ein Objekt erzeugen zu müssen, verwendet man Klassenattribute und Klassenmethoden, die mit dem Schlüsselwort static gekennzeichnet werden. Klassenattribute haben für alle Objekte einer Klasse den gleichen Wert.

Beispiel für eine Klassendefinition mit Modifizierern

public class Punkt {

  // vor direktem Zugriff geschützte Attribute
  private double x, y;
  private static int anzahlErzeugterPunkte = 0;  // Klassenattribut
  
  // Konstruktor zur Erzeugung eines Punkt-Objektes
  public Punkt(double x, double y) {
    this.x=x;
    this.y=y;
    anzahlErzeugterPunkte++; // Zähler um eins erhöhen
  }
  
  // (öfftl.) Get-Methode für x-Wert
  public double getX() {
    return x;
  }
  
  // (öfftl.) Get-Methode für y-Wert
  public double getY() {
    return y;
  }
  
  // Klassenmethode, die die Anzahl erzeugter Punkte ausgibt
  public static int getAnzahl() {
    return anzahlErzeugterPunkte;
  }
  
  // Methode zur Veränderung der Koordinaten
  public void verschiebe(int xRichtung, int yRichtung) {
    x=x+xRichtung;
    y=y+yRichtung;
  }
}
X

Fehler melden

X

Suche