Du liest:
Java static: Statische Methoden, Variablen und Klassen!

Java static: Statische Methoden, Variablen und Klassen!

von Pero
27.04.2022
Java Static Tutorial: So erstellst du statische Methoden, Klassen und Variablen in Java!

Das Schlüsselwort Java static wird verwendet, um statische Methoden, statische Variablen und statische Klassen zu erstellen. Schauen wir uns nun an, wie wir das Java static Schlüsselwort verwenden können, um ebendiese Sachen realisieren zu können. Also, los geht’s!

Wie können wir statische Methoden in Java erstellen?

Die statischen Methoden in Java werden mit dem Schlüsselwort Java static erstellt. Diese Arten von Methoden gehören zu der Klasse, in der sie definiert sind. Deshalb werden die statischen Methoden in Java auch Klassenmethoden genannt.

Schauen wir uns nun an, wie wir solch eine Methode erstellen können.

Als erstes definieren wir eine statische Methode namens nachrichtAusgeben() in der Klasse Mitarbeiter:

class Mitarbeiter {
  public static void nachrichtAusgeben() {
    System.out.println("Hi! Ich heisse Tim.");
  }
}

Im Anschluss rufen wir aus unserer Klasse Main innerhalb der public static void main String args-Methode die statische Methode nachrichtAusgeben auf!

public class Main {
  public static void main(String[] args) {
    Mitarbeiter.nachrichtAusgeben();
  }
}

Beachte, dass wir kein Objekt der Klasse Mitarbeiter für den Zugriff auf die Methode nachrichtAusgeben() erstellt haben; stattdessen verwenden wir den Klassennamen und können direkt auf die Methode zugreifen ohne Objekte der Klasse Mitarbeiter zu erstellen!

Wenn wir nun den obigen Code ausführen würden, würden wir folgende Ausgabe auf der Konsole erhalten:

Wir verwenden out println innerhalb der nachrichtAusgeben-Methode, um uns die Informationen auf der Konsole ausgeben zu lassen.

Wie können wir statische Variablen in Java erstellen?

Wenn Objekte in Java erstellt werden, enthält jedes Objekt seine eigene Kopie der in der Klasse deklarierten Variablen.

Im folgenden Beispiel erstellen wir zwei Objekte der Klasse “Mitarbeiter” mit den Namen: mitarbeiterEins und mitarbeiterZwei:

class Mitarbeiter {
  int alter;
}
public class Main {
  public static void main(String[] args) {
    Mitarbeiter mitarbeiterEins = new Mitarbeiter();
    Mitarbeiter mitarbeiterZwei = new Mitarbeiter();
  }
}

So weit so gut. Wir haben nun zwei Objekte, welche jeweils einen anderen Wert in die Objekteigene Variable alter speichern können. Wir können aber Java static verwenden, um einen Wert innerhalb einer statischen Variable in der Klasse zu speichern, welche von den Objekten nicht direkt verändert werden kann und für alle Objekte denselben Wert hält.

class Mitarbeiter {
  static int mitarbeiterAnzahl;
}
public class Main {
  public static void main(String[] args) {
    Mitarbeiter.mitarbeiterAnzahl = 20;
    System.out.println("So viele Mitarbeiter haben wir: " + Mitarbeiter.mitarbeiterAnzahl);
  }
}

Wenn wir nun den Code ausführen würden, würden wir folgende Konsolenausgabe erzeugen:

An vielen Stellen lohnt es sich jedoch Konstanten anstelle von statischen Variablen zu verwenden!

Wie du wahrscheinlich merkst, macht es nur Sinn Variablen als statisch zu deklarieren, wenn der Wert für alle Objekte der Klasse gleich sein soll. Das könnte beispielsweise für die Mitarbeiteranzahl oder ähnliche Informationen verwendet werden. Jedoch macht es für das Alter eines Mitarbeiters keinen Sinn, da jeder Mitarbeiter höchstwahrscheinlich ein anderes Alter hat.

Wie können wir static Blocks / Statements in Java erstellen?

Wenn du einige Berechnungen zur Initialisierung der statischen Variablen durchführen möchtest, deklariere einen statischen Block und füge die erforderliche Funktionalität hinzu. Dieser statische Block wird einmal ausgeführt, wenn er in den Speicher geladen wird.

In unserer Klasse Mitarbeiter fügen wir zwei statische Variablen hinzu, name und alter. Dann definieren wir zwei statische Blöcke, um die Variablen name auf Alex und die Variable alter auf 30 zu initialisieren:

class Mitarbeiter {
  static String name;
  static int alter;

  static {
    System.out.println("Initialiserung der statischen Variable name");
    name = "Alex";
  }

  static {
    System.out.println("Initialiserung der statischen Variable alter");
    alter = 30;
  }

  static void informationenAufrufen() {
    System.out.println("Name des Mitarbeiters: " + name);
    System.out.println("Alter des Mitarbeiters: " + alter);

  }
}

Im Anschluss rufen wir nun die statische Methode informationenAufrufen() innerhalb der main-Methode auf.

public class Main {
  public static void main(String[] args) {
    Mitarbeiter.informationenAufrufen();
  }
}

Wenn wir nun den Code ausführen, erhalten wir folgende Ausgabe, welche Zeile für Zeile die statischen Blöcke ausführt. Schauen wir uns die daraus resultierende Konsolenausgabe an:

Bei Fragen oder andere Anliegen kannst du dich gerne an das codegree-Team wenden!

Wie können wir innere statische Klassen in Java erstellen?

Wenn eine Klasse innerhalb einer anderen Java-Klasse erstellt wird, wird sie als innere oder auch verschachtelte Klasse bezeichnet. Um eine statische innere Klasse zu erstellen, musst du den Modifikator static vor dem Klassennamen angeben.

Im folgenden Beispiel ist die Klasse Mitarbeiter eine statische innere Klasse der äußeren Klasse MeineKlasse:

public class MeineKlasse {
  private static String name = "Simon";
  private static int alter = 30;

  static class Mitarbeiter {
    public void informationenAufrufen() {
      System.out.println("Name des Mitarbeiters: " + name);
      System.out.println("Alter des Mitarbeiters: " + alter);
    }
  }
}

Die Methode informationenAufrufen() ist eine nicht-statische Methode der Klasse Mitarbeiter. Um sie aufzurufen, müssen wir also eine Instanz der Klasse Mitarbeiter erstellen:

public static void main(String[] args) {
  MeineKlasse.Mitarbeiter mitarbeiterSimon = new MeineKlasse.Mitarbeiter();
  mitarbeiterSimon.informationenAufrufen();
}

Wenn nun die Methode informationenAufrufen() ausgeführt wird, greift sie auf die Werte der statischen Variablen name und alter zu und gibt sie auf der Konsole aus:

Wir könnten auch beispielsweise eine Klasse Auto erstellen mit einer statischen Variable PS Zahl

Wie du siehst, musst du, um auf die innere Klasse zugreifen zu können, zuerst den äußeren Klassennamen angeben, gefolgt von einem Punkt und dem inneren (in unserem Falle statischen) Klassennamen.

Zusammenfassung: Java static

Der Java static Modifikator wird hauptsächlich verwendet, um statische Methoden, statische Variablen, statische Blöcke und statische innere Klassen zu erstellen. Wenn ein statisches Element in einer Java-Klasse deklariert wird, können alle ihre Instanzen es gemeinsam nutzen, aber du kannst seinen Wert nicht ändern. Außerdem kann auf ein statisches Mitglied zugegriffen werden, ohne ein Objekt der entsprechenden Java-Klasse zu erstellen.

Kostenlos programmieren lernen

  • Interaktiv Python & Java lernen
  • Kurse von echten Experten erstellt
  • Individuelle Hilfe, wenn du nicht weiterkommst
Kostenlos registrieren

Keine Zahlungsdaten notwendig



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren

Arrow-up