Skip to main content

So kannst du dein Java Programm mit der main Methode ausführen


Programm-starten-content.png“ alt=“Java Programm starten“ width=“720″ height=“380″ class=“alignnone size-full wp-image-397″ />

Auf zum ersten Java Programm.

Vielleicht fragst du dich jetzt gerade:
Na, was haben wir denn bisher gemacht?
War das etwa kein Java Programm?

Wir haben bisher nur eine Klasse „Human“ für ein zuküntfiges Mensch-Objekt erstellt.

Diesem Objekt haben wir eine Instanzvariable, namens size (Größe) zugeordnet.

Und wir haben eine Instanzmethode, namens grow (wachsen) geschrieben.

Wir haben bisher noch kein ausführbares Java Programm entwickelt.

Das soll sich jetzt ändern.

Um ein irgendein Java Programm auszuführen, musst du in deiner Klasse eine sogenannte main Methode implementieren.

Und diese sieht so aus:


public class Human {
int size=156;//size in centimeter


void grow(int growthRate){
size=size+growthRate;
}
public static void main (String [] args){

}
}

Diese Methode musst du dir einfach merken.

Denn diese brauchst du bei jedem Programmstart.

Diese Methode signalisiert dem Compiler. Hier geht es los.

Untersuchen wir kurz die Methode.


Programm-main-Methode-public.png“ alt=“Java Programm main Methode public“ width=“720″ height=“380″ class=“alignnone size-full wp-image-382″ />

Die Methode beginnt mit dem Keywort public.

Public bedeutet, dass diese Methode öffentlich ist.

Was heißt das?

Diese Methode kann aus allen Klassen innerhalb deines Projektes aufgerufen werden.

Angenommen du implementierst neben der Menschen-Klasse noch eine Tierklasse.

Public bedeutet, dass du in der Tierklasse auf diese Methode zugreifen kannst, obwohl diese zur Zeit in der Menschenklasse steht.

Das zweite Keywort static bedeutet: Es handelt sich um keine Instanzmethode.

Diese Methode hat nichts aber auch gar nichts mit der Menschenklasse zu tun.

Außer, dass diese Methode zufällig gerade in dieser steht.


Programm-main-Methode-static.png“ alt=“Static bedeutet, dass es sich nicht um eine Instanzmethode handelt“ width=“720″ height=“380″ class=“size-full wp-image-383″ /> Static bedeutet, dass es sich nicht um eine Instanzmethode handelt



Das Keyword void kennst du schon. Es bedeutet, dass diese Methode keinen Rückgabewert erfordert.

Dann folgt der Methodennamen main.

Und jetzt die Parameterliste. Die Methode erwartet einen String Parameter, namens args.
Wie auch Integer ist String ein Datentyp.


Programm-main-Methode-String.png“ alt=“String ist ein Datentpy. Du kennst schon den Datentyp Integer aus der Instanzmethode und der Variablen“ width=“720″ height=“380″ class=“size-full wp-image-384″ /> String ist ein Datentyp. Du kennst schon den Datentyp Integer aus der Instanzmethode und der Variablen



Aber hinter diesem Datentyp String stehen noch diese beiden Klammern.

Diese symbolisieren, dass hier ein sogenanntes Array übergeben wird.

Das bedeutet: Die Methode kann nicht nur einen Parameter entgegen nehmen, sondern mehrere.

Den Namen des Datentypen, „args“, kannst du sogar umschreiben.
Du kannst ihn „argumente“ ,“datenmenge“ oder wie auch immer nennen.

Dann kommt der Methodenrumpf. Das erkennst du an der öffnenden Klammer.

Und in diesem Rumpf wird jetzt die Programmlogik implementiert.

Da bis jetzt noch nichts im Rumpf steht, würde rein gar nichts passieren.

Aber Probieren geht über Studieren.

Klicke einfach oben auf den Button „Run“ und dein Java Programm wird ausgeführt.


Klicke auf Run und das <a href=

Programm wird ausgeführt. Es kann sein, dass Eclipse dich noch auffordert zu speichern. Dann bestätige einfach mit Okay.“ width=“720″ height=“380″ class=“size-full wp-image-386″ /> Klicke auf Run und das Programm wird ausgeführt. Es kann sein, dass Eclipse dich noch auffordert zu speichern. Dann bestätige einfach mit Okay.



Und……

Es passiert nichts.

Klar, es müssen noch Anweisungen in die Methode.

Denn wichtig ist die Tatsache, dass diese Methode lediglich das Programm startet.

Mehr tut sie nicht.

Erst die Anweisungen in der Methode sorgen dafür, dass irgendetwas Wichtiges passiert.

Und jetzt packen wir mal so eine Anweisung in die Main-Methode.

Hier mal gleich der Code:


public class Human {
int size=156;//size in centimeter


void grow(int growthRate){
size=size+growthRate;
}
public static void main (String [] args){
System.out.println();
}
}

Achte auf die richtige Klammerung der Klasse.
Achte auf die richtige Klammerung der beiden Methoden.
Und achte auf das Semikolon nach der Anweisung.

Die Anweisung System.out.println() führt dazu, dass etwas auf der Konsole ausgegeben wird.

Nimm diese Anweisung bitte erst einmal so hin.
Am besten, du kopierst sie dir.

Noch besser du lernst diese auswendig.

Ja, das meine ich erst. Denn diese Anweisung ist wirklich richtig wichtig. Dazu später mehr.

Schreibe irgendetwas in die Klammer der Println() Anweisung.
Achte darauf, dass du den Wert in der Klammer in Anführungsstriche setzt.


public class Human {
int size=156;//size in centimeter


void grow(int growthRate){
size=size+growthRate;
}
public static void main (String [] args){
System.out.println("das ist ein Testlauf");
}
}

Danach klicke oben auf den Button „Run“.

Der Text in der Klammer wird jetzt auf der Konsole ausgegeben.

Die Konsole befindet sich unter deinem Editor. Falls sie dort nicht sein sollte, kannst du hier nachlesen, wie du dies änderst.


Auf der Konsole wird jetzt der Text ausgegeben

Auf der Konsole wird jetzt der Text ausgegeben



Du siehst, dass du irgendetwas in die Klammer schreiben kannst.
Das hat nichts mit unserem Mensch-Objekt zu tun.
Du kannst willkürlich wählen, was die Konsole zurück gibt.

Das liegt einfach daran, dass es eine Klassenmethode (Keywort: static) und keine Instanzmethode ist.

Und weil diese Methode mal so gar nichts mit unserem Menschen und mit diesem Objekt zu tun hat, solltest du diese auch nicht in dieser Klasse halten.

Warum nicht?

  • Es ist viel übersichtlicher diese separat zu führen.
  • So kannst du diese bequem über den Package Explorer wählen und ausführen.
  • Du musst dann nicht wissen: „Wo war nochmal meine Main Methode“
  • Die Main Methode ist statisch. Sie hat somit nichts mit dem Objekt zu tun. Statische Methoden sollten generell in separaten Klassen stehen.

Also lagern wir die Main Methode aus.

Lege eine neue Klasse an und diese Klasse nennst du „ProgrammStart“ oder „HumanStart“.

Wichtig ist, dass du auf den ersten Blick siehst: „Ah ja da ist meine Startmethode“

Beim Anlegen der Klasse siehst du schon, dass du die main Methode gleich dazu bekommst.

Markiere dazu das Optionsfeld und die Main Methode wird automatisch implementiert.


Markiere den Haken und Eclipse implementiert für dich die main Methode

Setze den Haken und Eclipse implementiert für dich die main Methode



Geht doch fix, oder?

Falls du die main Methode nachträglich in eine Klasse einfügen willst, kannst du entweder den Code abschreiben oder schreibst main und drückst die Tastenkombination: Str+Leertaste.

In der Liste kannst du die main Methode einfach auswählen und Eclipse implementiert diese.

Oder schreibe main und drücke die Tastenkombination Steuerung+Leertaste

Oder schreibe main und drücke die Tastenkombination Steuerung+Leertaste


Ging doch auch fix oder?

Jetzt fehlt noch die Anweisung innerhalb des Methodenrumpfes.

Also wieder die Println() Anweisung hinein und erneut starten.

Ja du solltest die Anweisung System.out.println() auswendig lernen. 🙂


public class ProgrammStart{
public static void main (String [] args){
System.out.println("das ist ein Testlauf");
}
}

Wie gehabt:
Alles was du jetzt zwischen die Klammern schreibst, wird ausgegeben.

Wenn du jetzt das Programm ausführst erscheint wiederum deine Konsolen-Ausgabe.

Und weil die main-Methode und die System.out.println-Anweisung so ein starkes Team sind, brauchst du diese auch zum Testen deines Java Programmes

Denn immer wenn du eine neue Methode schreibst, testest du diese.

Und du testest diese per Konsolen-Ausgabe.


Zusammenfassung:

  • Willst du ein Java Programm ausführen, brauchst du an irgendeiner Stelle die main Methode.
  • Die main Methode ist eine Klassenmethode. Dies erkennst du am Keyword static.
  • Da es eine Klassenmethode ist, hat sie nichts mit dem Objekt zu tun.
    Daher solltest du die main Methode in eine separate Klasse auslagern.

Im nächsten Beitrag zeige ich dir endlich, wie du ein Menschobjekt erzeugen kannst.
Bevor du jetzt zum nächsten Beitrag wechselst …. Denke an deine Kontrollfragen

Na, welche Kontrollfragen hast du zu diesem Artikel.
Schreib mir diese unter diesem Beitrag.