Skip to main content

Von Java Klassen zum Java Programm – Der Programmstart

In den letzten Beiträgen hast du gelernt, wie Java Klassen erstellt werden und aufgebaut sind.
In diesem Beitrag geht es um den Programmstart.

Ich will dir zeigen, was nötig ist, dass du ein Java Programm ausführen kannst.
Und ich zeige dir außerdem, wie du eine Startklasse in einem x-beliebigen Javaprogramm anlegst.

Wie auch schon zuvor, bleibe ich auch in diesem Artikel beim Einführungsbeispiel – dem Java Adventure.

In diesem Einführungsprojekt hast du bis jetzt 8 Klassen angelegt.

Java Klassen Uebersicht 8 Klassen

Falls du diese noch nicht angelegt haben solltest, ist das kein Problem.
Du kannst den Programmstart auch einfach so oder mit deinem eigenen Projekt nachvollziehen.

Also legen wir los.. 🙂

Hier ist das entscheidende Element um aus Java Klassen heraus Programme auszuführen.

Es ist eigentlich äußerst simpel.
Um irgendein Java Programm zu starten, brauchst du eine Startmethode.

Diese Startmethode heißt main-Methode.
Und so sieht diese aus:


	public static void main(String[] args) {
		
	}

Schauen wir uns diesen Code genauer an.

  • Die Methode beginnt mit dem Keywort public.
    Dieses Keywort legt fest, dass diese Methode öffentlich ist.
    Die Methode kann also von jeder Klasse genutzt werden. (Dazu unten mehr)
  • Das Keywort static legt fest, dass es sich um eine Klassenmethode handelt.
    In Java gibt es Objekte und diese nutzen individuelle Instanzmethoden.
    Klassenmethoden hingegen dienen dem Programm und nicht zwingend einem Objekt.
  • Dann folgt void.
    Dieses Keywort legt fest, dass die Methode nichts zurückgibt.
    Normalerweise liefert jede Methode einen Wert, eine Zahl, ein Text usw.
    Diese Methode liefert nichts- und deshalb void.
  • Dann folgt der Name der Methode: main.
  • Zum Schluss befindet sich in der Klammer ein Parameter.
    Dieser dient dazu, dass du der Methode beim Start eine Zahl oder Ähnliches mitgeben könntest.
    Und diese Zahl oder was auch immer, könnte die Methode auswerten, weiter verarbeiten oder umwandeln.

Das Ganze wirkt erst einmal enorm viel.

Ich beruhige dich:
Du musst dies Alles nicht sofort wissen.
Wenn du erst einmal länger in Java programmierst, speichert sich dieses Wissen von selbst.

Was du allerdings mitnehmen solltest:
Die main-Methode brauchst du immer zum Starten eines Programmes.

Und so werden aus normalen Java Klassen – Klassen welche ein Programm ausführen

Ich beginne einfach mal bei der Klasse „Held“.
Und implementiere die main-Methode.

Ja und wie?
Hier erst einmal der Code.
Ich sage gleich mehr dazu.


public class Held {

	public static void main(String[] args) {
		
	}
}

Eigentlich brauchst du nur meinen Code kopieren oder abschreiben und in deine Klasse einfügen.

Was gilt es dabei zu beachten?
Du musst die Hierarchieebene beachten.
Und zwar muss die Methode innerhalb der Klassengrenzen gesetzt werden.

Java Klassen Rumpf

Die zwei äußeren Klammern bilden die Grenzen der Java Klasse.
Und innerhalb dieser Grenzen muss, alles rein – was zu dieser Klasse gehört.
Die main-Methode gehört zu dieser Klasse und befindet sich somit im Rumpf der Klasse.
(Zwischen den Klammern).
Java-Klassen-Klassengrenzen-Main-Methode

Die Methode hat ebenfalls einen Rumpf.
Auch dieser Rumpf wird durch eine öffnende Klammer geöffnet und durch die schließende Klammer geschlossen.
Somit sind die Grenzen der Methode ebenfalls klar definiert.

Java main Methode Grenzen

Alles was die Methode machen soll, kommt dann in den Rumpf der Methode.

Und das war es eigentlich schon.
Wenn du jetzt das Programm ausführen würdest, würde nichts passieren.
Nicht weil die Methode falsch angelegt ist oder sich in der falschen Klasse befindet.

Es steht nichts drin.
Im Rumpf der Methode befindet sich keine Anweisung.

Das ändern wir.
Und zwar kommt dort eine Konsolenausgabe hinein.
Der Code dazu lautet:
System.out.println("Dies ist die Heldenklasse!");

Und so sollte dies jetzt bei dir aussehen.


public class Held {

	public static void main(String[] args) {
		System.out.println("Dies ist die Heldenklasse!");
	}
}

Worauf ist zu achten?

  • Diese System.out.println()-Befehl ist eine sogenannte Anweisung.
  • Hinter jede Anweisung muss ein Semikolon.
  • Innerhalb der Klammer kannst du jeden Textwert eingeben, den du willst.
  • Wichtig ist, dass du Text in Anführungsstriche setzt.

Jetzt lass uns dieses Programm endlich starten.

Ganz oben in der Menüleiste befindet sich ein Button „Run“.
Klicke dort drauf und du wirst gefragt, ob du speichern möchtest.
Dies bestätigst du und das Programm läuft.

Java Klassen ausführen Ablauf

Ganz unten siehst du die Konsolenausgabe mit deinem Text.
Java Programmstart mit Konsolenausgabe

Das war es.
Du hast ein Programm ausgeführt.

Später kannst du dann natürlich größere Programmstrukturen integrieren.
Auf genau die gleiche Art und Weise.
Für den Anfang reicht es aus. 🙂

Den Programmstart kannst du in allen Java Klassen einfügen.

Was hier geht – geht auch woanders.
Die main-Methode kannst du in jede Klasse einbinden.

Dadurch entstehen mehrere ausführbare Klassen.
Also Miniprogramme, welche parallel ausgeführt werden könnten.

So wie hier:

Java Klassen main-Methoden

Wichtig ist, dass du immer die main-Methode brauchst, um ein Java Programm zu starten.
Du in jeder x-beliebigen Klasse eine main-Methode anbieten könntest.
Und somit x-beliebig viele Programme innerhalb eines Projektes hättest.

Und das mache ich jetzt.
Ich lasse den Programmstart in der Heldenklasse.
Und ich lege in der Monsterklasse einen weiteren Programmstart an.

Dazu bräuchte ich nur die main-Methode, innerhalb der Klassengrenzen setzen.
Es gibt aber einen Trick, wie hier im Bild:

Java main Methode Liste

  • Schreibe main
  • Drücke zeitgleich Steuerung+Leertaste.
    Und diese Auswahlliste erscheint.
  • Wähle dann die main-Methode aus der Liste.
  • Fertig.

Und in dieser main-Methode (innerhalb der Klammern) platziere ich jetzt wieder eine Bildschirmausgabe:

Java Sysout

  • Auch hier reicht es aus, sys zu schreiben.
  • Dann Steuerung+Leertaste drücken
  • Die Anweisung „sysout“ auswählen.
  • Fertig.

In die Klammer kannst du jetzt wieder einen individuellen Text platzieren.
Denke an die Anführungsstriche.
Und fertig ist das zweite Programm.

Und jetzt kannst du auf „RUN“ klicken und auch dieses Programm ausführen.
Wähle danach die Held-Klasse und klicke auf „Run“ und auch dieses Programm wird ausgeführt.
Cool, oder?

Aber eigentlich trennt man die Starterklasse von den Objektklassen.
Und das solltest du auch tun.

Wir haben im Java Adventure 8 Klassen vorgesehen.
Eine davon heißt Programmstart.

Und diese erstellen wir jetzt noch.

Und so kannst du die Programmstart-Klasse anlegen.

Natürlich geht es so, dass du:

  • Die Programmstartklasse erstellst
  • und dann die main-Methode dort platzierst.

Du kannst das Ganze aber schon beim Klassen-Erstellungs-Prozess vollziehen.

Und zwar so:
Wenn du eine neue Klasse anlegst, hast du die Möglichkeit die main-Methode gleich dazu zu bekommen.

Dazu musst du bei der Methodenauswahl den Haken setzen.

Java Klassen Programmstart integrieren

Klickst dann auf Finish.
Und fertig ist die Programmstart-Klasse.

Zusammenfassung:

  • Du kannst aus jeder Klasse eine Programmstart-Klasse machen.
    Dazu musst du in den entsprechenden Java Klassen die main-Methode einfügen.
  • Achte bitte darauf, dass sich die main-Methode im Klassenrumpf befindet.
  • Sämtlicher Code, welcher sich im Rumpf der main-Methode befindet wird zum Programmstart ausgeführt.

Ähnliche Beiträge

Zwei smarte Möglichkeiten eine Java Zufallszahl zu erzeugen

Java Zufallszahl

Java Zufallszahl – Wieso? In der Java Programmierung benötigst du immer wieder einmal Zufallszahlen. Du möchtest deine Software mit Daten testen und dir keine Zahlen ausdenken. Du benötigst Stichproben, welche ein reales Verhalten simulieren. Du hast ein Spiel entworfen und die Akteure sollen mit zufälligen aber unterschiedlichen Größen, Rüstungsleveln usw. auftreten. Die Einsatzmöglichkeiten für Zufallszahlen […]

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

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. […]

Java Strings landen im String Constant Pool

Java-Strings-Pool

Du kennst das. Es ist abends. Du sitzt gemütlich vor dem Fernseher. Das Smartphone bimmelt. Kein Anruf. Nein – Eine Nachricht. Du liest die Nachricht sofort und antwortest darauf. Minuten später bekommst du die nächste Nachricht. Und auch auf diese antwortest du. Im Laufe des Abends entsteht daraus eine nette kleine Konversation. Und eh du […]

So kannst du Werte aus zwei oder mehreren Java Arrays verrechnen.

Java Arrays verrechnen

Wie kann man Werte aus zwei oder mehreren Java Arrays miteinander verrechnen? Zum Beispiel: Du möchtest alle Werte des ersten Arrays mit allen Werten des zweiten Arrays addieren Oder du möchtest die Summe aus beiden Arrays wissen und erst dann diese miteinander addieren. Was erwartet dich in diesem Beitrag? Zuerst werde ich dir zeigen, wie […]

Beim Aufruf werden Java Methoden auf dem Stack gestapelt

Java Methoden gestapelt

Java Methoden werden beim Aufruf gestapelt. Und jedes Element auf dem Stapel nimmt Speicherplatz weg. Und manchmal ist es so, dass der Stapel richtig hoch wird und dann…. Ja was passiert eigentlich dann? Betrachten wir einmal ein Computerspiel. Irgendeines. In diesem Computerspiel gibt es Vögel, welche abgeschossen werden sollen. Was bedeutet das denn genau? Beim […]

So lassen sich Java Strings in char zerlegen

Java Strings zerlegen char

Java Strings sind Zeichenketten. Und diese Zeichenketten lassen sich aufsplitten und in ihre Einzelteile zerlegen. Ich möchte dir in diesem Beitrag Möglichkeiten vorstellen, wie du Strings in Character-Datentypen zerlegen, extrahieren und die Einzelteile in Arrays speichern kannst.

Java Vererbung:
Die 3 Schablonen für deine Java Objekte

Java Vererbung Beispiel

Im letzten Beitrag habe ich dir das Java Vererbung Konzept an einem Beispiel vorgestellt. In dem Beispiel-Rollenspiel gab es Klassen zu Helden und Superhelden. Ich habe dir die Vererbungshierarchien theoretisch erläutert. Jetzt geht es ans Praktische. In diesen Beitrag lernst du: Wie du bestehende Java Klassen erweiterst Wie du Objekte aus den erweiterten Klassen erstellen […]