GUI-Workshop: Let's Swing again...

Die statische Methode main

Objektorientierte Java-Programme, wie wir sie bereits kennen, bestehen aus Klassen, die miteinander in Beziehung stehen und interagieren. Im Ablauf eines Programms werden mit Hilfes des jeweiligen Konstruktors Objektinstanzen erzeugt und deren Methoden ausgeführt. Beispiel:
 
public class Beispiel
{
   public Beispiel { /* Konstruktor */ }
          
   public void textAusgeben()
   {
      System.out.println("Hallo Welt!");
    }     
}    

Um den Text auszugeben, fehlt aber nun eine Art Hauptklasse, die von der Klasse Beispiel eine Instanz erzeugt und dann die Methode textAusgeben() aufruft. Bisher hatte diese Aufgabe der Nutzer von BlueJ (also wir selber), der mit einem Rechts­klick auf das UML-Diagramm eine Instanz der Klasse erzeugt und eben­falls mit einem Rechts­klick auf die Objektinstanz eine Methode auswählt und aufruft.

Um das Problem zu lösen existieren spezielle Methoden, die aufgerufen werden können, ohne dass von einer Klasse eine Instanz erzeugt werden muss. Sie werden mit dem Schlüsselwort static gekennzeichnet.

Eine dieser statischen Methoden spielt in Java eine besondere Rolle. Immer, wenn ein Programm in der Java-Laufzeitumgebung (JRE) ausgeführt wird, sucht diese darin automatisch nach der statischen Methode main, um diese als Programm­start­punkt auszuführen. Unser Programm könnte daher wie folgt aussehen:

 
public class Beispiel
{         
   public static void textAusgeben()
   {
      System.out.println("Hallo Welt!");
   }
          
   public static void main(String[] args)
   {
      textAusgeben();
   }     
}    

Man beachte:

Lege ein BlueJ-Projekt an, das die oben beschriebene Klasse enthält. Erzeuge eine Instanz der Klasse und teste Instanz und Klasse mit Hilfe des jeweiligen Kontextmenüs (Rechtsklick).
Was ist der Unterschied zu den dir bisher bekannten Klassen?

 

  © K. Milzner, 2019