Static

Aus FLBK-Wiki
Version vom 6. März 2026, 11:05 Uhr von Flbkwikiadmin (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einführung

Klassen definieren die Attribute und die Methoden ihrer Instanzen/Objekte. Neben "normalen" Attributen und Methoden gibt es in objektorientierten Programmiersprachen noch statische (englisch static) Attribute und Methoden. Um statische Methoden und Attribute aufzurufen, benötigt man keine Instanz der Klasse. Man kann sie direkt über den Klassennamen aufrufen. Dies macht dann Sinn, wenn man Eigenschaften oder Verhalten eines Programms nicht an ein Objekt koppeln möchte, sondern diese allgemeingültig definiert werden sollen.

Innerhalb von statischen Methoden können keine nicht statischen Attribute verwenden werden, da dies wieder eine Instanziierung eines Objektes der Klasse voraussetzen würde. Denn nicht statische Attribute existieren nur in Zusammenhang mit einem Objekt (siehe auch Beispiel unten)!

Die main-Methode

Damit die Java Virtual Machine "weiß", wo die Ausführung eines Programmes anfangen soll, muss eine besondere Methode in einer Klasse angelegt werden. Die Deklaration dieser Methode folgt dabei speziellen Regeln, so dass sie von der Java Virtual Machine leicht gefunden werden kann. Jede Java-Anwendung besitzt eine Methode main(). Für den Fall, dass Sie BlueJ als Entwicklungsumgebung einsetzen, wird die main-Methode im Hintergrund von BlueJ erzeugt. Die Methode main() muss die Signatur public static void main(String[] args) besitzen.

  • public weil von außerhalb der Klasse auf sie zugegriffen wird.
  • static weil sie aufgerufen wird ohne dass vorher ein Objekt einer Klasse gebildet wurde.
  • void weil sie keinen Rückgabewert besitzt.
  • der Parameter String[] args, der auch String args[] geschrieben werden darf, ist ein Array, das die vom Aufruf entgegen genommenen Kommandozeilenparameter enthält.

Syntax

Aufruf von statischen Attributen und Methoden

Klassenname.Variablenname

Klassenname.Methodenname + Eingabeparameter

Beispiel:

Math.PI

Math.sin(15.5)

Implementierung von statischen Attributen und Methoden

Sichtbarkeit + Schlüsselwort static + Datentyp + Attributname

Sichtbarkeit

+ Schlüsselwort static + Rückgabeparameter + Methodenname + Eingabeparameter

Beispiele

Statische Variablen und Methoden

public static double mehrwertsteuersatz=19;

public static double berechneBruttoBetrag(double preis){return mehrwertsteuersatz*preis/100;}


public class Beispiel { 

    int nichtStatisch = 10; // Nicht-statisches Attribut 

    public static void main(String[] args) { 

        // Direkt auf 'nichtStatisch' zugreifen (NICHT ERLAUBT): 
        // System.out.println(nichtStatisch); // Compiler-Fehler! 

        // Objekt erstellen und auf 'nichtStatisch' zugreifen (ERLAUBT): 
        Beispiel objekt = new Beispiel(); 
        System.out.println(objekt.nichtStatisch); // Funktioniert! 

    } 

}

Beispiel zur main-Methode

public class MainClass {
    public static void main(String[] args){
        System.out.println("Ausgabe aus der main()-Methode");
    }
}