Skip to main content

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

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 kannst.
  • Welche Auswirkung diese Vererbung auf die einzelnen Objekte der Klassen hat.


Doch bevor wir mit dem Rollenspiel weiter machen…..
Lass mich zwei Fragen klären:

  • „Was ist ein Rollenspiel?“
  • „Und warum ist ein Rollenspiel ein wunderbares Beispiel zur Java Vererbung?“

Die Helden in einem Rollenspiel haben gewisse Eigenschaften, wie Schlagkraft, Schnelligkeit usw.
Die Werte, welche sie für diese Eigenschaften zugewiesen bekommen sind abhängig vom Beruf und Geschlecht.

Die Protagonisten in so einem Rollenspiel könnten vom Beruf her:

  • Piraten
  • Bogenschützen
  • Berserker
  • Magier
  • Oder vielleicht Ritter sein.

Und jeder Beruf bringt seine Besonderheiten mit.

  • Ein Pirat hat mehr Schlagkraft als eine Piratin.
  • Der Bogenschütze ist schneller als ein Pirat.
  • Und ein Berserker wäre stärker als ein Bogenschütze oder Pirat.

Die Auswahl des Berufes und des Geschlechtes spielen somit eine entscheidende Rolle bei den Startwerten für das Spiel.

Aber es geht noch weiter.
Immer wenn die Helden andere Gegner besiegen, sammeln sie Erfahrungspunkte.
Ab einer bestimmten Anzahl an Erfahrungspunkten steigen die Helden in ihrem Erfahrungslevel auf.

Das bedeutet dann, dass sich die Eigenschaften ändern.
Die Helden im Spiel werden durch den Aufstieg schneller, stärker usw.

Also dann – Los gehts.

Java Klassen sind Schablonen für Java Objekte.

Wir bleiben beim Rollenspiel.

Wir haben die Klasse Helden und deren Instanzvariablen.
Und wir haben die Klasse „ProgrammStart“ mit der main-Methode.

Java-Projekt-Rollenspiel

Wie du siehst, habe ich ein neues Java-Projekt „JavaRollenSpiel“ angelegt.
Und dieses beinhaltet beide Klassen.

Schauen wir uns den Code in der Klasse Held einmal an.

Java Vererbung Attribute Held

Keine Angst – der Java Code dazu kommt gleich… 🙂

Du siehst hier einen ganzen Haufen Attribute für die Helden.
Außerdem bietet die Klasse zwei Methode an:

  • die gibInfos()-Methode gibt alle Informationen zum Helden auf der Konsole aus.
  • die kaempfen()-Methode erhöht die Anzahl der Erfahrungspunkte, in Abhängigkeit der Gegnerzahl.
    Pro Gegner bekommt der Held 10 Punkte auf seine bisherigen Punkte drauf.

Und hier der Code zum Mitschreiben:


public class Held {
	String geschlecht;// männlich oder weiblich
	String vorName;// Name des Helden
	int groesse;// Größe in Zentimetern
	int aktErfahrungspunkte;//Wird nach jedem Kampf erhöht
	int aktLevel;// aktuelles Erfahrungslevel des Helden - Level ist abhängig von Erfahrungspunkten
	int schlagKraft;//die Schlagkraft des Helden ist abhängig vom Beruf und Geschlecht - steigert sich nach Levelaufstieg
	int ausdauer;// die Ausdauer des Helden ist abhängig vom Geschlecht und Beruf - steigert beim Aufleveln
	int schnelligkeit;// Schnelligkeit des Helden ist abhängig vom Beruf und Geschlecht - steigert sich nach Levelaufstieg
	int ruestungsLevel;// aktuelle Rüstungslevel ist abhängig vom Beruf und Geschlecht - steigert sich nach Levelaufstieg
	String beruf;// Pirat oder Berserker, Bogenschütze oder Superheld

	void gibInfos() {
		System.out.println("Geschlecht: " + geschlecht);
		System.out.println("Name: " + vorName);
		System.out.println("Beruf: " + beruf);
		System.out.println("Größe: " + groesse);
		System.out.println("Aktuelles Level: " + aktLevel);
		System.out.println("Schlagkraft: " + schlagKraft);
		System.out.println("Ausdauer: " + ausdauer);
		System.out.println("Schnelligkeit: " + schnelligkeit);
		System.out.println("Aktuelles Rüstungslevel: " + ruestungsLevel);
		System.out.println("Gesammelte Erfahrung: "+ aktErfahrungspunkte);
		System.out.println();// Leere Zwischenzeile
	}
	
	//Nach jedem Kampf bekommt der Held Erfahrungspunkte
	void  kaempfen(int anzahlGegner){
		aktErfahrungspunkte=aktErfahrungspunkte+10*anzahlGegner;//pro besiegten Gegner 10 Erfahrungspunkte
		System.out.println(vorName+" kämpft gegen "+anzahlGegner+" Gegner");
	}
}

Lege danach zwei Objekte in der Programmstart-Klasse an.
Weise diesen Objekten unterschiedliche Werte für die Attribute zu.

Java Vererbung Objekte

Und rufe die Info-Methoden am Objekt auf.

public class ProgrammStart {

	public static void main(String[] args) {
		Held jack = new Held();//neues Held-Objekt
		Held jaqueline = new Held();//neues Objekt aus der Klasse Held

		//Eigenschaften von Jack
		jack.vorName="Jack";
		jack.groesse=180;
		jack.ausdauer=15;
		jack.schlagKraft=22;
		jack.schnelligkeit=10;
		jack.ruestungsLevel=15;
		jack.beruf="Pirat";
		jack.geschlecht="männlich";
		jack.aktErfahrungspunkte=0;
		jack.aktLevel=1;
	
		//Eigenschaften von Jaqueline
		jaqueline.vorName="Jaqueline";
		jaqueline.groesse=166;
		jaqueline.ausdauer=35;
		jaqueline.schlagKraft=12;
		jaqueline.schnelligkeit=60;
		jaqueline.ruestungsLevel=5;
		jaqueline.beruf="Piratin";
		jaqueline.geschlecht="weiblich";
		jaqueline.aktErfahrungspunkte=0;
		jaqueline.aktLevel=1;
		
		//Aufruf der Info-Methoden
		jack.gibInfos();
		jaqueline.gibInfos();
		
	}
}

Du erhältst unterschiedliche Werte je nach Objekt.

Lass Jack und Jaqueline ruhig ein paar Kämpfe machen.
Und rufe dann noch einmal die Info-Methode auf.

public class ProgrammStart {

	public static void main(String[] args) {
		Held jack = new Held();
		Held jaqueline = new Held();

		//Eigenschaften von Jack
		jack.vorName="Jack";
		jack.groesse=180;
		jack.ausdauer=15;
		jack.schlagKraft=22;
		jack.schnelligkeit=10;
		jack.ruestungsLevel=15;
		jack.beruf="Pirat";
		jack.geschlecht="männlich";
		jack.aktErfahrungspunkte=0;
		jack.aktLevel=1;
	
		//Eigenschaften von Jaqueline
		jaqueline.vorName="Jaqueline";
		jaqueline.groesse=166;
		jaqueline.ausdauer=35;
		jaqueline.schlagKraft=12;
		jaqueline.schnelligkeit=60;
		jaqueline.ruestungsLevel=5;
		jaqueline.beruf="Piratin";
		jaqueline.geschlecht="weiblich";
		jaqueline.aktErfahrungspunkte=0;
		jaqueline.aktLevel=1;
		
		//Aufruf der Info-Methoden
		jack.gibInfos();
		jaqueline.gibInfos();
		
		//Jack kämpft gegen 5 und 2 Gegner
		jack.kaempfen(5);//jack kämpft gegen 5 -Zuwachs 50 Erfahrungspunkte
		jack.kaempfen(2);//Zuwachs um weitere 20 Erfahrungspunkte
		
		//Neue Erfahrungswerte nach dem Kampf
		jack.gibInfos();//Jack hat jetzt 70 Erfahrungspunkte
		jaqueline.gibInfos();//Jaqueline bleibt bei 0 Erfahrungspunkten
	}
}

Probiere es aus und klicke auf Run.

Du siehst, dass die Kämpfen-Methode Einfluss auf die Objekte hat.
Und zwar einen unterschiedlichen (separaten) Einfluss.

Du bist also in der Lage zwei Objekte zu erschaffen.
Und beide Objekte haben die gleichen Eigenschaften mit unterschiedlichen Werten.
Durch Methoden kannst du einen separaten Einfluss auf die Eigenschaftswerte eines jeden Objektes nehmen.

Du kannst sagen, dass sich die Objekte unterschiedlich entwickeln lassen.

Und genauso muss doch ein Rollenspiel sein, oder?

Die Klassen bestimmen somit, welche Eigenschaften (Beruf, Name) deine Objekte später haben dürfen und welche nicht.
Somit fungieren die Klassen als eine Art Schablone oder Muster für deine Objekte.
Oder man kann sagen, die Objekte erben die Attribute aus ihrer Klasse.

Aber das reicht nicht. 🙂
Denn schau dir doch einmal ganz genau die einzelnen Attribute an.

Mal ganz ehrlich –
Wenn so ein Held auf die Rollenspiel-Welt kommt, hat dieser doch immer Level 1 und immer 0 Erfahrungspunkte.

Es ist doch besser dies zu standardisieren, anstatt dies bei jedem neuen Helden mit immer gleichbleibenden Wert zuzuweisen, oder?

Also kommen wir zur zweiten Schablone.

Eine zweite speziellere Schablone schaffst du mit dem Konstruktor.

Die Klasse war schon eine gute Schablone.
Wir machen diese Schablone jetzt etwas spezifischer- fassen diese somit enger.

Denn neue Helden kommen mit einem Level von 1 und mit 0 Erfahrungspunkten auf die Welt.
Das ist eine feste Regel in unserem Rollenspiel und muss nicht extra zugewiesen werden.

Zurück in die Heldenklasse…..
Und dort legst du einen Konstruktor an.
Und im Rumpf des Konstruktors kannst du diese Standardwerte direkt zuweisen.

public class Held {
	String geschlecht;
	String vorName;
	int groesse;
	int aktErfahrungspunkte;
	int aktLevel;
	int schlagKraft;
	int ausdauer;
	int schnelligkeit;
	int ruestungsLevel;
	String beruf;
	
	//parameterloser Konstruktor weist Werte zu
	Held (){
		this.aktErfahrungspunkte=0;//Standardpunkte für neue Helden
		this.aktLevel=1;//Standarlevel für neue Helden
	}
	
	void gibInfos() {
		System.out.println("Geschlecht: " + geschlecht);
		System.out.println("Name: " + vorName);
		System.out.println("Beruf: " + beruf);
		System.out.println("Größe: " + groesse);
		System.out.println("Aktuelles Level: " + aktLevel);
		System.out.println("Schlagkraft: " + schlagKraft);
		System.out.println("Ausdauer: " + ausdauer);
		System.out.println("Schnelligkeit: " + schnelligkeit);
		System.out.println("Aktuelles Rüstungslevel: " + ruestungsLevel);
		System.out.println("Gesammelte Erfahrung: "+aktErfahrungspunkte);
		System.out.println();// Leere Zwischenzeile
	}
	
	//Nach jedem Kampf bekommt der Held Erfahrungspunkte
	void  kaempfen(int anzahlGegner){
		aktErfahrungspunkte=aktErfahrungspunkte+10*anzahlGegner;//pro besiegten Gegner 10 Erfahrungspunkte
		System.out.println(vorName+" kämpft gegen "+anzahlGegner+" Gegner");
	}
}

In der Programmstartklasse kannst du diese Zuweisungen jetzt löschen oder so wie ich – einfach auskommentieren.

public class ProgrammStart {

	public static void main(String[] args) {
		Held jack = new Held();
		Held jaqueline = new Held();

		//Eigenschaften von Jack
		jack.vorName="Jack";
		jack.groesse=180;
		jack.ausdauer=15;
		jack.schlagKraft=22;
		jack.schnelligkeit=10;
		jack.ruestungsLevel=15;
		jack.beruf="Pirat";
		jack.geschlecht="männlich";
		//jack.aktErfahrungspunkte=0;
		//jack.aktLevel=1;
	
		//Eigenschaften von Jaqueline
		jaqueline.vorName="Jaqueline";
		jaqueline.groesse=166;
		jaqueline.ausdauer=35;
		jaqueline.schlagKraft=12;
		jaqueline.schnelligkeit=60;
		jaqueline.ruestungsLevel=5;
		jaqueline.beruf="Piratin";
		jaqueline.geschlecht="weiblich";
		//jaqueline.aktErfahrungspunkte=0;
		//jaqueline.aktLevel=1;
		
		//Aufruf der Info-Methoden
		jack.gibInfos();
		jaqueline.gibInfos();
		
		//Jack kämpft gegen 5 und 2 Gegner
		jack.kaempfen(5);//jack kämpft gegen 5 -Zuwachs 50 Erfahrungspunkte
		jack.kaempfen(2);//Zuwachs um weitere 20 Erfahrungspunkte
		
		//Neue Erfahrungswerte nach dem Kampf
		jack.gibInfos();//Jack hat jetzt 70 Erfahrungspunkte
		jaqueline.gibInfos();//Jaqueline bleibt bei 0 Erfahrungspunkten
	}
}

Klicke auf Run.
Und alle Infos zum Objekt werden dir ausgegeben.
Beide Objekte haben durch den Konstruktor Standard-Startwerte für die Erfahrungspunkte und das Erfahrungslevel bekommen.

Okay, okay.
Aber eigentlich ist es doch so, dass die Eigenschaften Stärke, Schnelligkeit und Ausdauer irgendwie mit dem Beruf und mit dem Geschlecht zusammenhängen.

Ein männlicher Pirat startet mit anderen Werten, als ein weiblicher.
Eine Bogenschützin hat wiederum andere Startwerte, als ein Berserker.

Meine Frage an Dich:
Kann ich nicht einfach in die Klasse Held einen besseren Konstruktoren anbieten?

Zum Beispiel:
Der Konstruktor erwartet das Geschlecht, den Namen und den Beruf.
Und im Rumpf des Konstruktor werden die Startwerte verteilt.

Bei einem männlichen Piraten:

  • schlagKraft=22;
  • ausdauer=15;
  • schnelligkeit=10;

Wenn es sich um einen weiblichen Piraten handelt, lauten die Startwerte:

  • schlagKraft=12;
  • ausdauer=35;
  • schnelligkeit=60;

Bei einem männlichen Bogenschützen, wären die Startwerte:

  • schlagKraft=12;
  • ausdauer=12;
  • schnelligkeit=80;

Und dieses Prinzip kann ich dann für alle Beruf-Geschlechtskombination anbieten?
Klar geht das – mit einer Menge if und else Blöcken im Konstruktor.

Und immer wenn du das Rollenspiel, um Berufe wie Magier, Ritter oder Hexenmeister, erweiterst – legst du neue if-else Konstrukte an.

Halt!!!
Das ist doch viel zu kompliziert und auch viel zu unflexibel, oder?
Jede Spezialisierung führt dann unweigerlich zu einer höheren Komplexität.

Das Zauberwort heißt Vererbung.

Die beste Schablone für speziellere Klassen findest du bei der Java Vererbung.

Wenn Bogenschützen, Magier und Ritter alles Helden sind – dann ist der Pirat und auch die Piratin ein Spezialfall unter den Helden.
Und natürlich ist dann auch jeder Magier, Ritter usw. ein Spezialfall.

Denn diese Helden sind allesamt speziell, weil sie sich aufgrund ihrer Werte (Kraft, Ausdauer) deutlich von anderen Spezialfällen unterscheiden.

Also was machen wir?
Wir legen jetzt Spezialklassen an.

Für den Anfang lege bitte:

  • eine Klasse namens Pirat,
  • und eine Klasse Piratin an

Alle beiden Klassen erweitern die Klasse „Held“.

Und das bedeutet:
Sie erhalten automatisch alle Instanzvariablen der Heldenklasse.
Sind aber in der Lage jeder einen unterschiedlichen Standardwert zuzuweisen.

Ich führe dies einmal beim Pirat und bei der Piratin vor:
Die Klasse Pirat extends bzw. erweitert die Klasse Held:


public class Pirat extends Held {

}

Die Klasse Piratin erweitert die Klasse Held ebenfalls.


public class Piratin extends Held {

}

In beiden Klassen kannst du jetzt einen Konstruktor anbieten, welcher Argumente für den Namen und die Größe erwartet.
Denn das sollen dann die einzigen-Nicht-Standardwerte sein.

public class Pirat extends Held {

	Pirat (String vorName, int groesse){
		this.vorName=vorName;
		this.groesse=groesse;
		this.ausdauer=15;
		this.schlagKraft=22;
		this.schnelligkeit=10;
		this.ruestungsLevel=15;
		this.beruf="Pirat";
		this.geschlecht="männlich";
	}
}

Und die Klasse Piratin mit anderen Startwerten:

public class Piratin extends Held{

	Piratin (String vorName, int groesse){
		this.vorName=vorName;
		this.groesse=groesse;
		this.ausdauer=35;
		this.schlagKraft=12;
		this.schnelligkeit=60;
		this.ruestungsLevel=5;
		this.beruf="Piratin";
		this.geschlecht="weiblich";
	}
}

Zurück in der Klasse Programmstart, kannst du Objekte der Klasse Pirat und Piratin anlegen.
Diese beiden Objekte besitzen dann alle Eigenschaften der Klasse Held mit standardisierten Piraten-Werten.

public class ProgrammStart {

	public static void main(String[] args) {
		Pirat jack = new Pirat("Jack",180);//Piratobjekt welches vom Held-Objekt erbt
		Piratin jaqueline = new Piratin("Jaqueline",166);//Piratinobjekt, welches vom Held Objekt erbt
		
		//Aufruf der Info-Methoden
		jack.gibInfos();
		jaqueline.gibInfos();
		
		//Jack kämpft gegen 5 und 2 Gegner
		jack.kaempfen(5);//jack kämpft gegen 5 -Zuwachs 50 Erfahrungspunkte
		jack.kaempfen(2);//Zuwachs 20 Erfahrungspunkte
		
		//Neue Erfahrungswerte nach dem Kampf
		jack.gibInfos();
		jaqueline.gibInfos();
	}
}

Probiere es aus.
Lege noch zwei Piraten oder Piratinnen an.

Jeder neue Pirat oder Piratin startet dann mit standardisierten Piratenwerten ins Spiel.
Das Erfahrungslevel und die Startpunkzahl bekommen alle Objekte weiterhin vom Konstruktor der Heldklasse.
Den Rest liefert die jeweilige Unterklasse.

Cool oder? 🙂
Du siehst, mit der ganzen Java Vererbung bekommst du richtig geile Möglichkeiten spezielle Unterklassen zu bilden.

Na wie wärs…
Implementiere doch noch den Bogenschützen, den Berserker oder andere Spezialklassen in das Projekt.

Zusammenfassung:

  • Alle Java Klassen bieten schon eine sehr schöne Schablone oder Bauplan für spätere Objekte.
  • Durch den Einsatz von Konstruktoren kannst du das Zusammenbauen der Objekte noch weiter spezialisieren und individualisieren.
  • Die speziellste Schablone bietet dir allerdings Java durch Vererbung an.
  • Du kannst Unterklassen anlegen, welche alle Instanzvariablen der Oberklasse erben.
  • Diese Instanzvariablen kannst du dann für jede Unterklasse mit unterschiedlichen Startwerten ausstatten.

Ähnliche Beiträge

So kannst du Java Arrays anlegen

Java Arrays anlegen

Java Arrays– Was ist das? Stell es dir einmal als ein Bücherregal vor. In einem Bücherregal befinden sich sämtliche Bücher. Und diese befinden sich schön nebeneinander. Jedes Buch hat seinen festen Platz. Du kannst die Bücher ganz genau lokalisieren. Zum Beispiel kannst du sagen. Das erste Buch von links Das dritte von rechts usw. Und […]

So kannst du in Java Und Verknüpfung anlegen und auswerten

Java Und

In Java stehen dir eine Menge Operatoren zur Verfügung. Einer dieser Operatoren ist der Und-Operator. Dies ist ein logischer Operator, da dieser sogenannte Wahrheitswerte mit einander verknüpft. Also…. Was erwartet dich in diesem Beitrag? Zuerst möchte ich dir die Aussagenlogik hinter dem Und-Operator zeigen. Also wann sind Aussagen wahr und wann sind diese falsch. Dann […]

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

Java Vererbung findet auch zwischen Einkaufstüten und Polizeiautos statt

Java Vererbung

„Manchmal findet Java Vererbung auch zwischen Einkaufstüten und Polizeiautos statt“ Irrer Titel, oder? Aber mal Hand aufs Herz. Was haben eigentlich eine Einkaufstüte und ein Polizeiwagen gemeinsam? Ich verrate dir etwas: Du kannst die Verbindung nicht erkennen, denn ich habe dir nicht alles verraten. Es fehlt noch ein wichtiger Aspekt – eine Verbindung zwischen beiden. […]

10 ganz nützlichen Feature der Klasse Java Math

In diesem Beitrag geht es um eine spezielle Java Klasse. Die Klasse nennt sich Java Math. Diese ist in der Standardbibliothek von Java enthalten. Warum solltest du diese Klasse kennen? Die Math Klasse bietet dir einen Menge Methoden an, welche zur Berechnung von mathematischen Gleichungen ganz hilfreich sind. Aber auch für Nichtmathematiker ist etwas dabei. […]

Java Übung 24 – So kannst du Kommazahlen runden

Java Übung runden

In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – bis auf welche letztlich gerundet […]

Warum Java Kommentare immer ein Mittel der Kommunikation sind

Java Kommentare Kommunikation

Kennst Du die Bücherreihe „Miteinander reden“ von Schulz von Thun? Falls Du an der Uni warst oder bist, gehört dieses Buch zur Standardlektüre im Fach Schlüsselkompetenz. Denn ein Java Entwickler, welcher im Team arbeitet, muss klar und deutlich kommunizieren können. Und klar und deutlich heißt nicht, dass die Aussprache Deiner Worte verständlich sein soll. Nein […]

Java Exklusives Oder – So nutzt du den Xor Operator

Java exklusives oder

In diesem Beitrag möchte ich dir den Xor Operator von Java vorstellen. Dieser Operator wird auch als ausschließendes oder exklusives Oder bezeichnet. Ein Beispiel: Was wilst du heute zum Mittag essen: Fleisch oder Fisch? Auf diese Frage gibt es nur eine Antwort. Es ist entweder Fisch oder Fleisch. Niemals beides. Das Eine schließt das andere […]

Java Übung 17: Char-Zeichen mit For-Schleife

Java Übung Char Zeichen For Schleife

In dieser Java Übung werden wir uns die Zeichen des Character Datentypen näher anschauen. Die einzelnen Zeichen sollen auf der Konsole ausgegeben werden. Und wie? Das ganze sollst du mit einer For Schleife machen. Erstelle deshalb eine Klasse „CharZeichen“. In dieser Klasse implementierst du dann eine Klassenmethode, namens „gibZeichen“. Und im Methodenrumpf durchläuft eine For-Schleife […]

Lassen wir Java rechnen – Die Rechenoperationen für Variablen

Java rechnen

Ich liebe Mathe. In der Biographie „Der Mann, der die Zahlen liebte“, stellt Paul Hoffmann das Mathematikgenie Paul Erdös vor. Erdös war eines der größten Genies des 20 Jahrhunderts. Er arbeitete mit zahlreichen Wissenschaftlern zusammen und verfasste durchschnittlich mehr Publikationen im Jahr, als andere Mathematiker im ganzen Leben. Da Erdös sich mit sehr vielen Theoremen […]

So nutzt du die While Schleife in deinem Java Programm

Java While Schleife

Manchmal ist es wichtig, Dinge einmal öfter zu tun. Bei der Java Programmierung kann es schonmal sein, dass du einen Code mehrfach ausführen lassen musst. Zum Beispiel die Zahlen eins bis zehn. Ein Java Programm, welches die Zahlen eins bis zehn wiedergibt. Na wie wäre das? Der Java Code dazu würde so aussehen: public class […]

Ein Java Fenster erzeugen mit dem JFrame

Java-Fenster-erzeugen

Ein Java Fenster erzeugen mit Swing. Java Swing – was ist das? Zum Erstellen von grafischen Benutzeroberflächen, kurz GUI, bietet Java eine eigene Standardklasse an. Diese Klasse nennt sich Swing. Aus dieser Swing-Klasse heraus können Objekte erstellt werden. Diese Objekte lassen sich in vier verschiedene Kategorien einteilen. Fenster und Dialoge bilden das Grundgerüst einer grafischen […]