Skip to main content

Java Vererbung – Die Hierarchien richtig planen

Java Vererbung hat nichts mit Biologie zu tun.

Die Genetik besagt, dass bestimmte Merkmalsausprägungen von den Eltern auf die Kinder übergehen.
Solche Merkmalsausprägungen sind:

  • die Hautfarbe
  • die Haarfarbe
  • die spezifische Größe und weitere körperliche Merkmale.

Und in Java – was ist da Vererbung?
Lass es uns herausfinden.

Was erwartet dich in diesem Beitrag?

  • Zuerst schauen wir uns den Begriff aus der Biologie an und vergleichen diesen mit der Java Programmierung.
  • Dann wird es konkreter. Und zwar möchte ich dir am Beispiel von Tieren und Tierarten das Java Vererbungskonzept auf verschiedenen Hierarchiestufen vorstellen.
  • Ich zeige dir außerdem, wie du mit Eclipse die einzelnen Hierarchien anschauen kannst.
  • Und ich zeige dir eine Herangehensweise um Java Hierarchien abzubilden und zu planen.


Doch zurück zur Biologie….
Die Genetik besagt, dass bestimmte Merkmalsausprägungen von den Eltern auf die Kinder weiter vererbt werden.

Bei der Java Vererbung sieht das Ganze etwas anders aus.

Denn hier werden nicht die Ausprägungen vererbt, sondern die Merkmale.

Im letzten Beitrag habe ich dir gezeigt, wie du Schablonen für Objekte anlegst.
Wir haben festgestellt, dass durch die Vererbung in Java speziellere Schablonen angelegt werden.

Ganz konkret würde dies bedeuten:
Du legst einen Menschen als Oberklasse oder Elternklasse an.
Und diese Oberklasse bekommt ein Attribut.
Zum Beispiel – Größe.

Das bedeutet, dass jeder Mensch in der Oberklasse eine spezifische Größe haben kann.
Falls du diese Klasse ableitest- also eine Kind-Klasse zur Oberklasse erstellst, erbt diese Klasse das Attribut.

Java-Vererbung-Mensch-Größe

Beispielsweise könntest du eine Klasse Frauen und Männer anlegen.
Und diese Kindklasse würde von der Menschklasse die Möglichkeit zur spezifischen Größenangabe erben.

Nochmal ganz kurz der Unterschied zwischen Genetik und Java Vererbung.

In der Genetik werden Merkmalsausprägung, wie schwarze Haare und blaue Augen vererbt.
Ein Kind erbt also die schwarze Haarfarbe von ihrer Mama.

Java Vererbung Genetik

In Java wird lediglich die menschliche Eigenschaft Haarfarbe mit einer Instanzvariablen angelegt.
Es wird nicht schwarze Haarfarbe vererbt.
Stattdessen legt man in der Oberklasse die Variable an.
Und jedes Objekt der Oberklasse hat dann die Möglichkeit eine individuelle Haarfarbe zu bekommen.

Wenn dann die Klasse abgeleitet wird, bekommt die Kindklasse automatisch die selbe Möglichkeit.
Und dann wird diese Eigenschaft von der Elternklasse auf die Kindklasse vererbt.

In Java geht es, bei der Vererbung, vielmehr um Kategoriesierung oder Spezialisierung.

Doch am besten schaust du dir das Ganze am einfachen Beispiel an.

Jede Java Klasse erbt von einer anderen Klasse.

Werfen wir doch einfach mal einen Blick in die Java API Docs.
Und suche dir irgendeine Klasse aus.

Ganz oben in der Dokumentation findest du die Vererbungshierarchien.

Java Vererbung Java API DOCS

Zum Teil geht diese über gewisse Hierarchiestufen.
Bei anderen Klassen ist die Hierarchie relativ flach.

Aber an oberste Stelle steht in jeder Klassenhierarchie – die Klasse Objekt.
Egal ob du einen Scanner, einen String, ein Array oder dein eigenes Objekt anlegst.
Alle Klassen erben von der Klasse Objekt.

Und die Klasse Objekt bringt ein paar Methoden und ein paar Variablen automatisch mit.
Dadurch, dass deine Objekte, deine Strings oder Arrays alle von der Klasse Objekt erben – stehen diese Methoden und Variablen allen Objekten zur Verfügung.
Ganz automatisch.

Schauen wir uns diesen Umstand in Eclipse an.

In Eclipse kannst du die Vererbungshierachien erkennen.

Im letzten Beitrag zur Java Vererbung hatte ich ein paar Objekte vom Datentyp Pirat und Piratin angelegt.

Wenn ich jetzt auf der Pirat-Referenzvariablen die Punktnotation aufrufe…..
Dann werden mir neben all dem typischen Piraten-, Piratinnen- und Heldenzeug – außerdem die Standardmethoden und Variablen der Klasse Objekt angeboten.

Java-Vererbung-Punktnotation

Und diese Methoden und Variablen hast du bei jedem String, jedem Array und jedem anderen Objekt.

Ganz konkret bedeutet das:
Jedes Piraten- oder Piratinnenobjekt (Piratin und Pirat) erbt von der Klasse Held.
Und außerdem erben sie das ganze Zeug von der Klasse Objekt.

Für die Darstellung der einzelnen Vererbungshierarchien bietet dir Eclipse ein nützliches Werkzeug an.

Markiere einen Datentyp.
So wie ich „Pirat“ oder Piratin.
Und drücke dann F4.

Java Vererbungshierarchien Eclipse anzeigen

Es öffnet sich dann die Type-Hierachie-View.
Es werden dir dann in einem separaten Fenster die einzelnen Hierarchien angezeigt.

Probiere das Gleiche mit einem String oder Array aus.

Java Vererbungsbaum anzeigen Eclipse

Du siehst – ganz oben steht die Klasse Objekt.

Java Vererbung bei Tieren

Schauen wir uns die Vererbung an einem konkreten Beispiel an.
Ich schmeiße einfach einmal ein paar Begriffe in den Raum.

  • 10 Mäuse
  • 20 Katze
  • 19 Wölfe
  • 2 Hunde
  • 4 Pferde
  • 1 Schäferhund
  • 1 Dackel
  • 1 Perserkatze
  • 2 Haflinger
  • 4 Löwen
  • Und eine weiße Hausmaus

Okay, was soll das?
Stell dir vor. Du solltest ein Programm oder ein Spiel entwerfen, welches diese Tiere simuliert.
Und dabei sollte das ganze Programm recht flexibel sein.

Das heißt:
Wenn zum Beispiel eine Wüstenspringmaus später ins Programm soll, geht das ohne Probleme und ohne Neustrukturierung des kompletten Codes.

Also wie gehst du vor?
Eine Möglichkeit besteht darin eine Klasse für jedes Tier anzubieten.
Und diese Klasse hat dann alle Methoden und Variablen, für das jeweilige Tier.

Sobald eine Wüstenspringmaus erwünscht ist, bekommt diese eben eine eigene Klasse.
Und dann kommt in die Wüstenspringmausklasse alle Methoden und alle Variablen für diese spezielle Mausart.

Lass es uns anders tun, okay? 🙂

Alle erwähnten Lebewesen haben Eines gemeinsam.
Du kannst auch sagen:

Alle angeführten Lebewesen passen irgendwie in eine Kategorie.

Denn….
Katzen, Mäuse, Hunde usw. sind alles Tiere.
Und alle Tiere unterscheiden sich auf eine bestimmte Art und Weise – von Schornsteinen, von Gemüse, von Büchern oder von Schränken.

Wir haben somit eine Kategorie an Objekten, welche sich klar von anderen Kategorien unterscheidet.
Und unsere Kategorie heißt Tiere.

Also dann – geht es noch abstrakter bzw. allgemeiner?
Oder anders gesagt:

„Gibt es eine Überordnung von Tieren?“

Ja vielleicht. Und zwar sind alle Tiere Lebewesen.

An dieser Stelle solltest du dich fragen:

„Macht es Sinn noch eine weitere Oberkategorie zu wählen?“

Bis jetzt sollen nur Tiere in das Programm – also was will ich mit Lebenwesen?

Ja klar, wenn du das Klassendesign größer denkst, dann bist du später variabler.

Ganz konkret.
Wenn du später Menschen oder Pflanzen in das Programm holst, dann macht eine Klasse Lebewesen schon Sinn.

Gehen wir einmal davon aus, dass du auch die Tierbesitzer und Tiernahrung haben möchtest.
Dann benötigst du im Programm auch Pflanzen und Menschen.
Okay dann fangen wir mit der Klasse bzw. Kategorie Lebewesen an.

Die erste Hierarchiestufe würde dann Lebewesen sein.

Mein Frage jetzt an dich:
Welche Attribute könnte man einem Lebewesen zuschreiben.

Vielleicht diese:

  • Größe
  • Gewicht
  • Maximale Lebensdauer
  • derzeitiges Alter

Und wie sieht es mit diesen aus?

  • Anzahl der Gliedmaßen
  • Art der Nahrung
  • Verbreitungsgebiet

Na, welche Attribute könnten passen?
Die Fragen, welche du dir jetzt beim Design stellen solltest, lauten in etwa so:

  • Besitzen alle Lebewesen eine individuelle Größe?
    Ja, denn ein Katze ist größer als eine Maus.
    Jede Katze hat außerdem ein andere Größe im Vergleich zu ihren Artgenossen.
  • Besitzen alle Lebewesen ein individuelles Gewicht? – ja
  • Haben alle Lebewesen eine unterschiedliche Lebenserwartung? – ja
  • Kann es sein, dass alle Lebeweise ein derzeit individuelles Alter haben? – na klar
  • Kann man die Anzahl der Gliedmaßen bei jedem Lebewesen bestimmen?- Nein denn Pflanzen haben keine Gliedmaßen
  • Kann man die Nahrung bestimmen?- Auch nein, denn Pflanzen essen nicht im herkömmlichen Sinne
  • Hat jedes Lebewesen ein bestimmtes Verbreitungsgebiet?- Ja

Halten wir fest.
Bis auf die Gliedmaßen und Art der Nahrung passt alles zum Lebewesen.

Java Vererbung Lebewesen

Die Klasse Lebewesen hat, bis auf zwei, alle Attribute und vererbt diese an die Kindklassen Tier, Mensch und Pflanze weiter.
Die beiden Attribute Nahrung und Gliedmaßen passen nur bei den spezielleren Typen – den Tieren und Menschen.

Und weil die Attribute Nahrung und Gliedmaßen etwas spezieller sind, werden diese in den Kindklassen vereinbart.
Somit besitzen alle Lebewesen eine Größe, ein Gewicht usw. Aber nur Tiere und Menschen haben die Eigenschaften für Gliedmaßen und Nahrung.

Hier der bisherige Java Code:
Die Klasse Lebewesen stellt die Standardattribute bereit.

public class Lebewesen {
	int groesse;
	int gewicht;
	int maxLebensdauer;
	int alter;
	String verbreitungsGebiet;
}

Die Klasse Pflanze erbt alle Attribute der Klasse Lebewesen.

public class Pfanze extends Lebewesen {

}

Die Tierklasse erweitert die Lebewesenklasse um zusätzliche Felder.

public class Tier extends Lebewesen {
	int anzahlGlieder;
	String Nahrung;
}

Die Menschklasse erweitert die Lebewesenklasse ebenfalls.

public class Mensch extends Lebewesen {
	int anzahlGlieder;
	String Nahrung;
}

Wenn du jetzt an irgendeiner Stelle im Programm ein Tier-Objekt anlegst, dann:

  1. stehen dir Tiereigenschaften
  2. zusätzlich noch Lebewesen-Felder
  3. und Attribute der Objekt-Klasse zur Verfügung.

Java Vererbung Tier anlegen

Die Objekte sollen aber nicht nur Eigenschaften besitzen.

Sie sollen auch etwas können.
Und hier ein paar gängige Methoden für Lebewesen:

  • wachsen()
  • schlafen()
  • essen()
  • geräuschMachen()
  • bewegen()

Jetzt bist du dran.
Was passt zum Lebewesen und welche Methoden passen eher zu den spezielleren Objekten – Tier, Pflanze und Mensch.

Java Vererbung Methoden Lebewesen

Ich gebe zu – Ich weiß nicht, ob Pflanzen Geräusche machen oder ob sie schlafen.
Im meinem Klassendesign tun sie es nicht.

Und deshalb treffen einige Methoden für alle Lebewesen zu. Andere wiederum nicht.

Das waren die ersten beiden Hierarchiestufen.
Lass und noch tiefer gehen.

Die dritte Stufe im Java Vererbungsbaum trennt die Tiere weiter auf.

Ich mach an dieser Stelle nur noch mit den Tieren weiter.

Wir hatten gesagt, dass:

  • 10 Mäuse
  • 20 Katze
  • 19 Wölfe
  • 2 Hunde
  • 4 Pferde
  • 1 Schäferhund
  • 1 Dackel
  • 1 Perserkatze
  • 2 Haflinger
  • 4 Löwen
  • Und eine weiße Hausmaus

Im Programm enthalten sein sollen.

Aufgrund der Vererbung könnten wir jetzt für jede Tierart eine Klasse anlegen, welche von Tier erbt.

Java Vererbungshierarchie Stufen

Somit würde jede Maus, jede Katze usw.:

  • Größe
  • Gewicht
  • Maximale Lebensdauer
  • Derzeitiges Alter
  • Verbreitungsgebiet

haben.
Alle diese Instanzvariablen hätten sie von der Klasse Lebewesen geerbt.

Außerdem hätten alle Tiere folgende Instanzvariablen:

  • Anzahl der Gliedmaßen
  • Art der Nahrung

Denn diese Eigenschaften hätten sie von der Klasse Tier geerbt.

Und auch bei den Methoden sieht es genauso aus.
Aus der Lebewesenklasse heraus könnten sie: wachsen().

Von der Tierklasse bekommen sie die Methoden:

  • essen()
  • schlafen()
  • geräuschMachen()
  • bewegen()

Macht ein weiterer Split Sinn?

Um diese Frage zu beantworten schauen wir uns doch einmal die Methoden an.
Wie bewegt sich eine Katze?
Wie bewegt sich ein Pferd?

Die Katze springt, klettert und läuft.
Das Pferd klettert auf jeden Fall nicht.
Und deshalb müsste man die bewegen()-Methode in jeder Klasse separat anbieten.

Wie sieht die Sache mit dem Geräusch machen aus?
Selbst ein Schäferhund und ein Dackel unterscheiden sich da.
Also müsste auch die Geräusch-machen-Methode separat angeboten werden.

Hier die bisherigen Hierarchieebenen.
Ganz oben die Lebewesenklasse. Alle Attribute und Methoden stehen Pflanzen, Tieren und Menschen zur Verfügung.

public class Lebewesen {
	int groesse;
	int gewicht;
	int maxLebensdauer;
	int alter;
	String verbreitungsGebiet;
	
	void wachsen(){
		System.out.println("Wird größer und größer");
	}
}

In der zweiten Ebene befinden sich die Tiere. Diese Attribute und Methoden stehen allen Tieren zur Verfügung.

public class Tier extends Lebewesen{
	int anzahlGlieder;
	String Nahrung;
	
	void schlafen(){
		System.out.println("Das Tier schläft");
	}
	
	void essen(){
		System.out.println("Das Tier ist "+Nahrung);
	}
	
	void geraeuschMachen(){
		System.out.println("Brüllen, Fauchen und Wispern");
	}
	
	void bewegen(){
		System.out.println("Das Tier rennt");
	}
}

Und jetzt einige spezielle Tierarten.
Ich habe Hunde, Katzen, Mäuse und Pferde.

public class Katze extends Tier{

	void geraeuschMachen(){
		System.out.println("Die Katze faucht");
	}
	
	void bewegen(){
		System.out.println("Das Katze springt, läuft und klettert");
	}
}

Die Hundetypen.

public class Hund extends Tier {
	
	void geraeuschMachen(){
		System.out.println("Wau, Wau");
	}
	
	void bewegen(){
		System.out.println("Der Hund läuft");
	}
}

Die Pferde.

public class Pferd extends Tier {
	
	void geraeuschMachen(){
		System.out.println("BrrrHHHH");
	}
	
	void bewegen(){
		System.out.println("Galopp, Trapp und Rennen");
	}
}

Und die Mäuse.

public class Maus extends Tier {
	
	void geraeuschMachen(){
		System.out.println("Piep, Piep");
	}
	
	void bewegen(){
		System.out.println("Klettern, Laufen und Springen");
	}
}

Spiele die Sache einmal bis hierher mit einem Pferd durch.
Also lege in der Programmstart Klasse ein Pferd an.

public class LebewesenSimulation {

	public static void main(String[] args) {
		Pferd blackBeauty = new Pferd();
		
		blackBeauty.gewicht=200;//Das Pferd bekommt das Gewicht von Lebewesen
		blackBeauty.groesse=120;//Das Pferd bekommt die Größe von Lebewesen
		
		blackBeauty.Nahrung="Heu"; //Das Pferd bekommt Nahrung aus der Klasse Tier
		blackBeauty.anzahlGlieder=4;//Das Pferd bekommt die Beine aus der Klasse Tier
		
		blackBeauty.essen();//Das Pferd issst wie jedes Tier. Die Methode aus Klasse Tier
		blackBeauty.geraeuschMachen();//Pferdegräusche aus Klasse Pferd
		blackBeauty.bewegen();//Bewegen aus Klasse Pferd
	}
}

Du siehst das Pferd bekommt aus den einzelnen Klassen, entlang des Vererbungsbaumes, Attribute und Methoden.
Ein Pferd kann also:

  • sich bewegen, wie nur ein Pferd es kann
  • kann spezielle Pferdegeräusche machen
  • Und den ganze Rest macht es so, wie jedes andere Tier bzw. Lebewesen.

Cool, oder? 🙂
Du kannst unendlich viele Stufen tiefer gehen.
Zum Beispiel können Haflinger vielleicht besonders schnell laufen.
Dann mach eine Klasse Haflinger, welche von Pferd erbt und überschreibe die Pferd-Methode bewegen().

Ich möchte auch noch eine Stufe tiefer gehen.

Stufe 4 im Java Vererbungsbaum.

Ich pick nur noch einen bestimmten Zweig aus dem Baum heraus.
Und zwar die Hunde.

Wenn ich jetzt einen Wolf machen möchte, kann dieser von Hund erben.
Dadurch kann der Wolf schon all das, was ein Hund kann.

Aber der Wolf soll noch heulen.
Also biete ich zusätzlich zum Hundekram eine heulen()-Methode nur für Wölfe an.

public class Wolf extends Hund{

	void heulen(){
		System.out.println("AAAAHHHUUUU");
	}
}

Wenn ich dann wiederum einen Wolf anlegen, kann dieser den ganzen Hunde-, Tier- und Lebewesenkram.
Aber zusätzlich kann der Wolf heulen.

public class LebewesenSimulation {

	public static void main(String[] args) {
		Wolf grauWolf = new Wolf();
		
		grauWolf.gewicht=60;//Der Wolf bekommt das Gewicht von Lebewesen
		grauWolf.groesse=80;//Der Wolf bekommt die Größe von Lebewesen
		
		grauWolf.Nahrung="Fleisch"; //Der Wolf bekommt Nahrung aus der Klasse Tier
		grauWolf.anzahlGlieder=4;//Der Wolf bekommt die Beine aus der Klasse Tier
		
		grauWolf.essen();//Der Wolf frisst wie jedes Tier. Die Methode aus Klasse Tier
		grauWolf.geraeuschMachen();//Geräusche aus Klasse Hund
		grauWolf.bewegen();//Bewegen aus Klasse Hund
		
		grauWolf.heulen();//Nur ein Wolf heult
	}
}

Zum Vergleich:
Ein Hund kann nicht heulen.

Java VererbungsHierarchie Hund Wolf

Zusammenfassung:

  • Java Vererbung hat nichts mit Genetik zu tun.
  • Es geht bei diesem Konzept vielmehr um Kategoriesierung.
    Welches Objekt passt zu welcher Kategorie.
  • Dabei werden abstrakte Typen festgelegt. In unserem Beispiel waren es die Lebewesen.
    Und diese allgemeinen oder abstrakten Typen können all das, was alle Lebewesen können.
  • In spezielleren Unterklassen werden dann bessere Typen angeboten, welche mehr können.
    Und diese konkreteren Datentypen sind dann auch die besseren Schablonen für zukünftige Objekte.

Ähnliche Beiträge

Java Übung 11 – Java Objekte in Java Methoden übergeben

Java Übung Java Methoden Objekte

In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { // setter Methode this.x = […]

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

Du musst in Java nicht jede Exception fangen

Java Exception fangen

Kennst du die Metapher mit dem Jongleur und den Bällen? Ein Jongleur hält drei Bälle in der Luft, dann vier und irgendwann fünf. Aber irgendwann ist es genau ein Ball zu viel. Und Alles bricht zusammen. Ja ein Ball zu viel, kann alles versauen. 🙂 Und so ist es doch immer im Leben. Du kannst […]

Java Übung 27 – Auf zur Mathe-Olympiade

Java Übung Mathe Olympiade

In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher die wenigsten Fehler hatte – […]

Java Übung 16 – Bestimme den größten gemeinsamen Teiler

Java Übung Teiler

In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom Datentyp Integer.

So legst du Utility Klassen in Java an

Java Utility Klassen

Utility Java Klassen – was ist das? Man nennt diese auch Hilfsklassen von Java. Diese Utility Klassen sind Java Klassen, welche lediglich Methoden und Konstanten anbieten. Am Beispiel: Die Klasse Math ist so eine klassische Utility Klasse. Wozu braucht man solche Klassen? Diese Klassen sind so etwas wie ein Werkzeugkoffer für jedes Java Programm. Hier […]

Hier sind ein paar richtig nette Features, die dich beim Java lernen unterstützen

Java lernen Eclipse

Was ist das Wichtigste beim Einstieg in ein neues Wissensgebiet? Nein, kein gutes Sachbuch oder ein besonders guter Lehrer. Es ist Spaß. Beim Java Lernen brauchst du Spaß. Es gibt Lehrer, welche ihren Stoff so vermitteln, dass Lernen Spaß bereitet. Aber die Grundvoraussetzung ist und bleibt der Spaß. Und nichts ist so spaßhemmend wie Langeweile […]

Java for Schleifen schachteln – So funktioniert es

Java For Schleifen schachteln

Diese Situation kennst du doch auch…. Du stehst an der Haltestelle und wartest auf den Bus. Dein Blick fällt auf die Uhr.   Oder du wartest an der Ecke auf deinen Freund oder Kollegen. Immer wieder schaust du auf deine Uhr.   Sie ist kaum noch wegzudenken. Die mobile Taschenuhr.   Lange Zeit wurde die […]

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

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

Der Java Datentyp boolean im Interview

Java boolean

Nein, ich bin nicht verrückt. Aber… Neulich traf ich zufällig den Java Datentyp boolean. 🙂 Er erklärte sich bereit, mir ein Interview zu geben. In diesem Interview geht es um die Werte, welcher dieser Wertetyp annehmen kann. Und in diesem Zusammenhang geht es auch um Logik. Also lassen wir uns doch die Logik vom direkten […]

Der wichtige Unterschied zwischen Java Methoden

Java Methoden Unterschied

Jetzt machen wir Nägel mit Köpfen. Dieses Sprichwort stammt aus den Anfängen des Industriezeitalters. Denn früher wurden Nägel nicht industriell, sondern per Hand gefertigt. Und da kam es schon einmal vor, dass versehentlich Nägel ohne Kopf produziert wurden. Was blieb ist das Sprichwort „Nägel mit Köpfen“ Und dieses steht sinngemäß für eine schnelle, qualitativ hochwertige […]