Das Java Vererbung Konzept erklärt, am Beispiel eines Rollenspiels
Schlagwörter: Java Programmierung, Java Vererbung, Vererbung


Java ist eine objektorientierte Programmiersprache.
Und das bedeutet nicht nur, dass du Objekte einer Java Klasse erzeugen kannst.
Es bedeutet auch, dass Java Klassen von anderen Klassen erben können.
Wieso das Ganze?
Stell dir einmal ein Rollenspiel vor.
Wie würdest du ein Rollenspiel entwerfen?
- In einem Rollenspiel gibt es magische Gegenstände.
Zauberringe, Zauberstäbe, welche bei Benutzung irgendetwas Cooles machen.
- Es gibt aber auch Gegenstände, wie Schwerter, Äxte und Hämmer.
Mit denen kannst du gewöhnlich nur zuschlagen.
- Und natürlich gibt es Helden in so einem Rollenspiel.
Es gibt die gewöhnlichen Helden, welche kämpfen, herumlaufen und springen können.
- Und dann gibt es vielleicht noch Superhelden, welche neben dem normalen Zeugs, noch teleportieren, fliegen oder sich verwandeln können.
- Und na klar brauchst du noch Feinde, Schurken und Gesindel.
Dies können Menschen, Tiere oder Monster sein.
Ja so ein Rollenspiel ist ziemlich extravagant.
Wenn du jetzt so ein Rollenspiel gedanklich entwerfen müsstest, wie würdest du vorgehen?
Bevor du Objekte machen kannst, brauchst du Java Klassen.
Denn Java Klassen stellen die Gebrauchsanweisung für die Objekte dar.
Du musst also Klassen für alle möglichen Objekte schreiben.
Und in diese Klassen kommen dann Variablen für Stärke, Größe, Level usw.
Außerdem beinhalten diese Klassen auch Methoden.
Und in diesen Methoden vereinbarst du all dies, was die Objekte so können.
Zum Beispiel:
- Helden können sich bewegen, zuschlagen oder springen.
- Superhelden können außerdem fliegen.
- Zauberringe können glänzen, am Finger getragen werden und bei richtiger Anwendung sogar heilen.
Es gibt somit eine Menge zu tun.
Also….
Beginnen wir bei den Helden.
Nehmen wir an, es gibt zehn Helden.
5 Superhelden mit Superkräften und 5 normale Helden ohne Superkräfte.
Wenn du jetzt die Klassen entwerfen würdest, würdest du zwei Klassen erstellen.
- Die erste Klasse wären die „normalen Helden“.
- Und die zweite Klasse die Superhelden.
Die Klassen würden Instanzvariablen enthalten.
- Die Größe des Helden als Integer-Datentyp
- Der Name des Helden als ein String.
- Das aktuelle Level des Helden als Integer.
- Und natürlich folgen Attribute, wie Schlagkraft, Ausdauer, Schnelligkeit und der ganze andere Kram.
Und so könntest du einen Helden erschaffen, welcher männlich ist und folgende Attribute hätte.
- String geschlecht =“männlich“;
- int groesse = 180;
- String personName= „Jack“;
- int aktLevel= 1;
- int schlagKraft =22;
- int ausdauer=15;
- int schnelligkeit=10;
- int ruestungLevel = 15;
Und in etwa so könnte der Held dann aussehen.

Und du würdest einen zweiten Helden erschaffen, mit anderen Attributen.
Diese könnte weiblich sein und Jaqueline heißen.

Wichtig ist, dass du aus einer „Helden-Klasse“ so viele Helden produzieren könntest, wie du willst.
Du legst einfach die Instanzvariablen in deiner „Heldenklasse“ an.
Und alle Objekte, welche du aus dieser Klasse anlegst, können ihre persönlichen Eigenschaften erhalten.

Und wie sieht es mit Methoden aus?
Die Instanzmethoden, welche du in den Klassen anlegst, stehen ebenfalls allen Helden zur Verfügung.
Du könntest die Methoden herumlaufen() und zuschlagen() anbieten.
Die Methode zuschlagen, würde die Instanzvariable „schlagKraft“ erwarten.
Und in Abhängigkeit von der Schlagkraft, würde die Methode irgendetwas beim Gegner anrichten.
Und so würde die Methode zuschlagen bei Jack aussehen.

Und so bei Jaqueline.

Die Methode herumlaufen, würde die Instanzvariablen „schnelligkeit“ und „ausdauer“ erwarten.
Und im Methodenrumpf würden diese verarbeitet werden.
Bei Jack so.

Bei Jaqueline so.

Die Instanzmethoden stehen somit auch jedem Objekt zur Verfügung, welches aus der Java Klasse für Helden erschaffen wurde.

Halten wir fesst:
Sobald du ein Objekt der Heldenklasse erstellst, bekommt dieses die ganzen Instanzmethoden dazu und kann diese nutzen.
So jetzt haben wir die Helden im Spiel.
Was ist mit den Superhelden?
Du erinnerst dich:
Wir wollten 5 Normalo-Helden erstellen.
Und 5 Superhelden mit Superkräften.
Diese Superhelden sollten genau das Gleiche können, wie die Normalos.
Aber sie sollten noch echt coole Superkräfte haben.
Na dann implementieren wir ein paar Superhelden dazu.
Lass uns die Superhelden erstellen.
Also wie machen wir das?
Lass uns mal zwei Alternativen durchdenken.
Alternative 1
Wir erstellen eine neue Klasse und nennen diese Superhelden.
Und in dieser Klasse kopieren wir den Code der „Normalo-Helden-Klasse“.
Kopieren ist dann Copy und Paste.
Und nachdem wir den ganzen Kram reinkopiert haben, bieten wir noch neue Methoden und Eigenschaften an.
Eben so was, wie das Fliegen, den Röntgenblick usw.
Oder Alternative 2.
Wir erstellen keine neue Klasse.
Stattdessen erweitern wir die Heldenklasse um zusätzliche Methoden und Instanzvariablen.
Und hoffen, dass die Normalos diese niemals nutzen.
Gehen wir doch gedanklich einmal beide Alternativen durch.
Alternative 1:
Wir erstellen eine neue Superhelden-Klasse und kopieren den Helden-Code da hinein.

Und dann packen wir die fliegen()-Methode, eine Instanzvariable „flugGeschwindigkeit“ und andere coole Sachen rein.

So und irgendwann ist das Spiel fertig.
Du hast die Heldenklasse, die Superheldenklasse und es kann losgehen.
Ein richtig geiles Game.
Bis zu dem Zeitpunkt, an dem du feststellst, dass andere Rollenspiele mehr können.
Da gibt es Methoden zum Waffen-Bauen, zum Heilen, zum Schläge-Ausweichen, zum Ducken usw.
Also was machst du dann?
Du musst diese Methoden implementieren.
Und zwar wieder in beide Klassen.
Also Heldenklasse auf:
- Waffenbauen-Methode rein.
- Und Ausweichen-Methode rein.
Dann die Superhelden-Klasse auf und ebenfalls die Waffenbauen-Methode und Ausweichen-Methode rein.
Bis jetzt ist das noch kein Problem.
Du hast nur zwei Klassen.
Aber stell dir doch einmal vor, du bietest verschiedene Heldentypen an.
Eben nicht nur Normalos und Superhelden, sondern Bogenschützen, Berserker, Zauberer, Piraten, Diebe usw.
Und für alle Type eine separate Klasse mit Copy-and-Paste-Code.
Sobald diese Heldentypen ein neues Feature erhalten sollen, musst du dies in allen Klassen umsetzen.
Die Alternative 1 ist somit nicht ganz optimal.
Also was ist mit Alternative 2?
Du bietest in der Heldenklasse alle Methoden (auch fliegen) und Variablen (auch röntgenblickLevel) an und hoffst darauf, dass nur die Superhelden diese nutzen.
Mal ganz ehrlich – Der Ansatz hört sich doch schon mies an, oder?
Aber was dann?
Alternative drei heißt Vererbung.
Kümmern wir uns jetzt um die Vererbung der Java Klassen.
Wie kannst du dir dieses ganze Java-Vererbungskonzept vorstellen?
Du erschaffst die Klasse Helden.
Und diese Klasse ist eine sogenannte Superklasse.
Und diese Superklasse hat diverse Unterklassen.
Dies sind dann die Klassen für Superhelden, für Bogenschützen, für Berserker usw.
Aber lass uns bei den Superhelden bleiben.
Was heißt das nun – für die Superhelden.
Die Klasse Superhelden erbt von der Klasse Helden.
Und somit stehen der Superhelden-Klasse alle Methoden und alle Instanzvariablen der Heldenklasse zur Verfügung.
Das ganze geschieht ohne Copy und Paste.
Stattdessen schreibst du in die Klassendefinition das Keyword extends und dann den Namen der Superklasse.
Also: public class SuperHelden extends Helden
Und das war es schon.
Somit besitzt die Unterklasse Superhelden alle Eigenschaften der Heldenklasse.
Cool, oder?

Doch es wird noch besser.
Sobald du die Heldenklasse erweiterst – erweitert sich ganz automatisch die Unterklasse auch.
Das bedeutet für dich.
Wenn du irgendwann feststellst:
- Die Helden müssen auch ausweichen können.
- Dann implementierst du eine ausweichen()-Methode in die Heldenklasse.
- Und dann können alle Normalo-Helden diese Methode nutzen.
- Aber auch allen Superhelden steht dann diese Funktion zur Verfügung.

Und was ist mit fliegen(), Röntgenstrahl und den anderen coolen Kram?
Diese Methoden und Instanzvariablen implementierst du nur in der Superhelden-Klasse.
Das tolle ist, dass die Normalo-Helden davon nichts mitbekommen.
Denn Vererbung funktioniert nur in eine Richtung.
Die Heldenklasse ist die Vaterklasse.
Und die Superhelden-Klasse ist die Kindklasse.
Die Vater- oder Oberklasse kann nicht von der Kindklasse erben.
Somit schreibst du alle Methoden, welche Superhelden und Normalo-Helden betreffen in die Vaterklasse (Heldenklasse).
Die Kind- bzw. Unterklasse (Superhelden) erbt das alles.
Und in die Superhelden-Klasse schreibst du den ganzen Kram, welche nur Superhelden können dürfen.

Und der Spaß geht noch weiter.
Natürlich kann die Superhelden-Klasse ebenfalls Unterklassen besitzen.
So können manche Superhelden Wände hochklettern.
Wiederum Andere können sich verwandeln.
- Du siehst in der Oberklasse bietest du allgemeine Methoden und Instanzvariablen an.
All den Kram den alle Helden können.
Zum Beispiel. herumlaufen()
- Dann kommt die erste Superheldenklasse.
Diese erweitert die Heldenklasse um die Methode fliegen().
Falls du dann ein Superhelden-Objekt erstellst, kann es fliegen.
Somit können alle Superhelden herumlaufen und fliegen.
Normalo-Helden, wie Jack und Jaqueline, können weiterhin nur herumlaufen.
- Es folgen zwei weitere Klassen- Superheldenkletterer und Superheldenverwandler.
Beide Klassen erweitern die Superhelden.
- Die Klasse Superheldenkletterer erweitert die Superheldenklasse, um die Methode klettereWaendeHoch().
Alle Objekte, welche du dann aus der SuperheldenKletterer-Klasse erstellst können dann „Wände hochklettern“, „fliegen“ und herumlaufen.
- Die zweite Superheldenklasse kann keine Wände hochklettern.
Dafür steht den Objekten die Methode verwandeln() zur Verfügung.
Wenn du jetzt ein Objekt der „SuperHeldenVerwandler-Klasse“ anlegst, kann dieser:
- Sich bewegen und all das, was alle Helden aus der Heldenklasse können
- Fliegen und all das, was alle Superhelden aus der Superhelden-Klasse können.
- Und sich verwandeln, was speziell nur diese Klasse kann.
Cool, oder?
Zusammenfassung:
- Um deinen Code flexibel zu halten, kannst du Java Klassen erweitern.
- Diese Klassen-Erweiterung machst du mit dem Keyword extends.
- Das Konzept dahinter nennt sich Vererbung.
- Alle Superklassen vererben Methoden und Variablen an ihre Unterklassen.
Somit brauchst du nur den Code in der Superklasse zu ändern und dadurch ändern sich alle Eigenschaften der Unterklassen ebenfalls.
- Die Unterklassen kannst du dann um spezifische Methoden ergänzen.
- Die ganze Java Vererbung funktioniert nur in eine Richtung.
Somit bleiben die Methoden schön in den Unterklassen und stehen den Superklassen nicht zur Verfügung.
Ähnliche Beiträge
Schlagwörter: Java Programmierung, Zahlensystem
Java Zahlensysteme – Was soll das? In sämtlichen Programmiersprachen werden Zahlen in Variablen abgespeichert. Wenn du dir die einzelnen primitiven Datentypen in Java einmal anschaust – wirst du feststellen – dass die Masse der Datentypen Zahlen annehmen und speichern können. Zahlen und die Mathematik dahinter spielen in der Programmierung eine […]
Schlagwörter: Java Methoden, Java Programmierung
Was du vereinbarst, das bekommst du zurück. Ach wäre es schön, wenn alles im Leben so funktionieren würde. Aber zum Glück funktioniert dieses Prinzip bei deinen Java Methoden. Denn du kannst den Rückgabetypen im Methodenkopf vereinbaren. Doch bevor ich dir zeige, wie du den Rückgabetypen anlegen kannst…. Lass mich dir […]
Schlagwörter: Eclipse Programmierung, Java Programmierung
Du kennst das auch. Denn du bist ja fleißig. Und weil du so fleißig bist, hast du mitunter auch mehrere Java Projekte gleichzeitig laufen. Und dann kommt es vor, dass du enorm viele Java Projekte am Laufen hast. Und dein Package-Explorer wird extrem unübersichtlich. In diesem Beitrag möchte ich dir […]
Schlagwörter: Java Programmierung, 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 […]
Schlagwörter: Java Methoden, Java Programmierung
Und wenn sie nicht gestorben sind, dann ….. So oder so ähnlich enden viele Kindermärchen. Oder wenn ich Millionär wäre, dann würde ich nicht mehr arbeiten. Was haben die beiden Ausdrücke gemeinsam?
Schlagwörter: Java Programmierung
Auf dieser Seite möchte ich dir ein Einführungsbeispiel zu den Java Klassen vorstellen. Anhand dieses Beispiel wirst du lernen: wie du eigene Klassen erstellst, deine Java Klassen erweitern kannst, Konstruktoren und Methoden einsetzt, Objekte anlegen kannst, auf diese Instanzen zugreifen kannst, wie du Eigenschaften der Objekte änderst. Das Ganze lernst […]
Schlagwörter: Eclipse Programmierung, Java Programmierung
In diesem Beitrag möchte ich dir zeigen, wie du ein neues Java Projekt mit Eclipse anlegen kannst. Ich werde dir außerdem einen kurzen Überblick über die Konfigurationsmöglichkeiten geben. Dann gebe ich dir noch eine ganz einfache Schritt-für-Schritt-Anleitung für dein allererstes Java Projekt und ich zeige dir, was nach dem Anlegen […]
Schlagwörter: Java Programmierung, Lexikalik, Semantik, Syntax
Java ist eine Programmiersprache. Und wie jede andere Programmiersprache ist auch Java, lediglich eine künstliche Sprache. Normalerweise bieten künstliche Projekte immer jede Menge Spielraum für Eigenkreationen. Bei der Programmierung ist dies nicht ganz so. Denn Programmiersprachen sind auch immer sehr exakt. Jede Programmiersprache und auch jede gesprochene Sprache […]
Schlagwörter: Java Instanzen, Java Programmierung
Wie werden aus deinen Java Klassen richtig nützliche Java Objekte? Das ganze läuft in vier Phasen ab. Und diese Phasen möchte ich dir in diesem Beitrag vorstellen. Ob das nützlich ist? Schau dir das Bild an. Am Ende dieses Beitrages wirst du wissen, warum Eclipse dir hier eine Fehlermeldung gibt […]
Schlagwörter: Eclipse Programmierung, Java Programmierung
Wahrscheinlich passiert es jedem einmal, dass man versehentlich Dateien löscht. Und dann? Die Wut ist riesig, weil man ja alles nochmal schreiben muss. In Eclipse hast du die Möglichkeit sämtliche Dateien wieder herzustellen. In diesem Beitrag möchte ich dir demonstrieren, wie du gelöschte Java Klassen, Dateien, Projekte oder Packages wieder […]
Schlagwörter: Java Programmierung, Java Schleifen
In einem anderen Artikeln habe ich bereits über Schleifen in Java gesprochen. In diesem Artikel möchte ich dir eine ganz besondere Schleife vorstellen. Warum ist diese so toll? Sie hat einen integrierten Schleifenzähler. Die Schleife zählt also bei jedem Durchlauf automatisch mit. Aber dazu gleich mehr…. Lass uns einmal so […]
Schlagwörter: Java Instanzen, Java Klasse, Java Programmierung
Lass uns jetzt ein paar Java Objekte erstellen. Im letzten Beitrag habe ich dir gezeigt, was nötig ist um ein Java Programm überhaupt zu starten. Ich habe dir gezeigt, wie du eine zweite Klasse anlegst und die main Methode implementierst. Du hast gesehen, dass die Anweisung, welche wir in die […]
Schlagwörter: Java Programmierung, Java Variablen
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 […]
Schlagwörter: Java Datentyp, Java Programmierung
Java Datentypen Ich gebe zu, ich hasse dieses Thema. Denn es ist eigentlich nichts weiter als graue Theorie. Dennoch müssen wir dieses Thema behandeln. Um schnell in das Thema zu kommen, stelle ich dir eine Übersicht aller primitiven Datentypen zur Verfügung. Wieso primitive? Es gibt außer den primitiven Datentypen, noch […]
Schlagwörter: Java Keyword, Java Methoden, Java Programmierung
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äß […]
Schlagwörter: Eclipse Programmierung, Java Klasse, Java Programmierung
Java Klassen sind Baupläne für Java Objekte. Und da Java eine objektorientierte Programmiersprache ist, sind Java Klassen somit ein elementarer Bestandteil. In diesem Beitrag möchte ich dir zeigen, wie du eine Java Klasse in Eclipse erstellen kannst. Ich möchte dir außerdem zeigen, was physikalisch in deinem Projekt passiert. Ganz zum […]
Schlagwörter: Java Exceptions, Java Polymorphie, Java Programmierung
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 […]
Schlagwörter: Java Konstruktor, Java Polymorphie, Java Vererbung
Klassen sind Baupläne für Java Objekte. Java Konstruktoren sind ganz konkrete Baupläne für deine Objekte. In einen der letzten Beiträge zur Java Vererbung, habe ich dir gezeigt – was polymorphe Arrays sind und wie du diese anlegst. Dazu hatten wir das Beispiel mit den Kleidungsstücken. Spinnen wir dieses Beispiel einfach […]
Schlagwörter: Java Operatoren, Java Programmierung
Stell dir einmal vor: Du hast deine erste Java Software entwickelt. Du bist verdammt stolz auf dein Programm. Und jetzt gibst du es für die Nutzung oder für den Test frei. Die Software verlangt vom User ein paar Eingaben. Beispiele wären die Körpergröße oder das Alter. Und jetzt gibt der […]
Schlagwörter: Java Programmierung
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. […]
Schlagwörter: Java Programmierung
In diesem Beitrag geht es um den Einsatz von Java Codeblöcken oder Initialisierungsblöcken. Viele Wege führen nach Rom. Oder Alle Wege führen nach Rom. Heißt es in einem alten Sprichwort. Und so ähnlich ist es bei der Java Programmierung. In diesem Beitrag möchte ich dir einen weiteren Weg vorstellen, wie […]
Schlagwörter: Java Programmierung, Java Strings
Du willst in Java Strings vergleichen – Kein Problem.
Schlagwörter: Java Datentyp, Java Programmierung, Java Strings
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.
Schlagwörter: Eclipse Programmierung, Java Programmierung
Das Schöne an Eclipse ist, es läuft auf sämtlichen Betriebssystemen. Eclipse wird einfach auf der Webseite des Herstellers herunter geladen und kann dann installiert werden. Dabei stehen dir verschiedene Versionen zur Verfügung.
Schlagwörter: Java Methoden, Java Programmierung
Du kennst das noch. Kopfrechnen und zwar auf Zeit. So etwas ist das Standardprogramm in den Schulklassen 1 bis 5. Irgendwann, in Klasse 6 oder 7, kommt der Taschenrechner ins Spiel und Kopfrechnen ist aus dem Schulalltag gestrichen. Schade eigentlich. Dabei kann man diese Disziplin auch wunderbar in kleinen Spielen […]
Schlagwörter: Java Programmierung, Java Variablen
Stell dir vor: Du hast erfolgreich dein erstes Programm für die Personalabteilung aufgesetzt. Du hast deine ersten 1000 Datensätze schön sauber angelegt. Und nun kommt dein Kollege und überschreibt die Vornamen der ersten 100 Mitarbeitern. Na schöne Sch…. Wie kann das passieren? Wie kann man das verhindern? Du brauchst eigentlich […]
Schlagwörter: Eclipse Programmierung, Java Programmierung
Jedes Jahr tummeln sich zahlreiche deutsche Touristen an den wunderschönen Stränden Mallorcas. Doch bevor es überhaupt in den Urlaub geht, muss der Gang in ein Reisebüro deiner Wahl angetreten werden. Oder du buchst deinen Urlaub bequem im Internet. Bei der Auswahl des Urlaubsortes und des Hotels ist für die meisten […]
Schlagwörter: Java Programmierung, Java Variablen
Lass uns über die Lebensdauer einer lokalen Variablen sprechen. Warum ausgerechnet die Lebensdauer? Alle Java Variablen, unterscheiden sich in folgenden Punkten: wo diese deklariert werden können, wie du diese aufrufen kannst, welchen Bereich diese abdecken, und Ihre Lebensdauer Und eine lokale Java Variable hat eine relativ kurze Lebensdauer. Schauen wir […]
Schlagwörter: Dezimalsystem, Java Programmierung, Mathematik
Bei der Java Programmierung benötigst du Kenntnisse über das Dezimalsystem. Allein schon für die technische Umsetzung beim Runden einer Zahl. Oder du möchtest den Kehrwert bzw. den Umkehrwert einer Zahl im Programm bestimmen lassen. Aber auch für das Herausfinden des Stellenwertes – also wieviel Stellen hat eine Zahl – benötigst […]
Schlagwörter: Java Klasse, Java Programmierung
Java ist eine objektorientierte Programmiersprache und dieses Konzept setzt auf Java Klassen. Diese Aussage nimm bitte jetzt erst einmal so hin. Ich werde im Laufe des Artikels den Zusammenhang herstellen.
Schlagwörter: Java Konstruktor, Java Programmierung
Der Name sagt es schon. Java Konstruktoren konstruieren oder bauen Java Objekte. Und diese Objekte baut der Konstruktor auf Vorlage der entsprechenden Java Klasse. In diesem Beitrag zeige ich dir natürlich verschiedene Ansätze wie du den Konstruktor einsetzt. Ich zeige dir dies Schritt für Schritt. Dabei zeige ich dir auch […]
Schlagwörter: Java Programmierung, Java Swing
Heute wollen wir Java Fenster erzeugen. Und zwar 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 […]
Schlagwörter: Java Programmierung
Um ein Java Programm starten zu können, benötigst du immer die main-Methode. Das Programm startet immer genau an dieser Stelle. Alle lokalen Variablen, welche du in der Main Methode anlegst, kannst du dann im Programm nutzen. Auch alle Methoden, welche du innerhalb des Methodenrumpfes der main-Methode aufrust, werden ausgeführt. Was […]
Schlagwörter: Java Methoden, Java Programmierung
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 […]
Schlagwörter: Java Programmierung
Es wird Zeit für die erste Java Konsoleneingabe. Und diese Eingaben machst du über den Java Scanner. Was ist das? Der Scanner ist eine vorgefertigte Java Klasse, welche Java mit seiner API anbietet. Das heißt du musst nichts selbst erschaffen. Du musst nur wissen, wie du darauf zugreifst. Erst einmal […]
Schlagwörter: Java Programmierung, Java Übungen
Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ […]
Schlagwörter: Java Programmierung, Lernen
Ich lernte die Java Programmierung auf die klassische Art. Ich kaufte mir das erste Buch und los ging es. „Jetzt wirst du Java lernen“ – sagte ich zu mir. Ich war relativ schnell ziemlich frustriert, denn irgendwie fehlten mir ein paar Zusammenhänge. Kennst du das? Du hast ein Wissensfetzen und […]
Schlagwörter: Java Operatoren, Java Programmierung
Kennst du das auch aus deiner Schulzeit? Du schreibst eine Klassenarbeit in irgendeinem Fach. Nehmen wir einfach mal an – Mathe. Jetzt bist gerade fertig mit deiner Arbeit. Und zu Hause wirst du gefragt: „Und wie lief es?“ Du antwortet:“ Ganz gut. Es wird bestimmt eine Eins oder eine Zwei.“ […]
Schlagwörter: Java Methoden, Java Polymorphie, Java Vererbung
In Deutschland entstehen jeden Tag tolle Geschichten. So wie diese hier…. Die größte Turmuhr der Welt, die Makkah Clock, steht in Saudi – Arabien. Und zwar direkt in Mekka. Hier ein paar Eckdaten zur Uhr: Höhe des Turmes 601 m. Das Ziffernblatt der Turmuhr hat einen Durchmesser von 43 Meter […]
Schlagwörter: Java Methoden, Java Programmierung
Im Mittelalter war es üblich, dass Könige oder Adlige Briefe durch ein Siegel verschlossen. Das Siegel hatte die Aufgabe den Inhalt des Briefes vor dem gewaltsamen Öffnen zu schützen. Außerdem hatte das Siegel die Aufgabe einen Eigentumsnachweis sicher zu stellen. Und jeder, welcher das Siegel des Königs sah, wusste: „Das […]
Schlagwörter: Java Operatoren, Java Programmierung
In diesem Beitrag geht es um Java Operatoren. Ich möchte dir gern zwei neue Operatoren vorstellen. Diese nennen sich Inkrement und Dekrement. Ja was heißt das? Inkrementieren bedeutet eine schrittweise Erhöhung einer Zahl. Und dementsprechend bedeutet Dekrementieren: Die schrittweise Verminderung einer Zahl. Wozu brauchst du das? Stell dir vor. Du […]
Schlagwörter: Java Datentyp, Java Programmierung, Logik
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. Jetzt mal im ernst, die logischen Argumente des Datentyps lassen sich am Besten durch Fragen und direkte Antworten erklären. Also gibt es hier ein fiktives Interview mit […]
Schlagwörter: Java Keyword, Java Programmierung
Java Programme bestehen aus Java Klassen. Und der Zugriff auf eine Java Klasse sollte nach außen immer gewährleistet sein. Was bedeutet das? Du solltest in jeder Klasse die Möglichkeit haben, ein Objekt einer anderen Klasse anzulegen. Gerade durch diese Möglichkeit macht doch das ganze Klassenkonstrukt erst Sinn.
Schlagwörter: Java Keyword, Java Methoden, Java Programmierung
In diesem Artikel möchte ich dir zeigen, wie du Instanzvariablen innerhalb der Java Klasse schützt. Und den Zugriff nur noch indirekt über getter und setter Methoden anbietest. Warum braucht man getter und setter Methoden im Java Programm Stell dir vor. Du hast ein Programm zur Lagerverwaltung geschrieben. Dieses Programm dient […]
Schlagwörter: Java Klasse, Java Vererbung
Man kann die ganze Java Vererbung für bestimmte Klassen ausschließen bzw. verhindern oder verbieten. Was soll das? Für bestimmte Java Klassen soll die Vererbung ausgeschlossen werden. Es soll also verhindert werden, dass Elternklassen – Kindklassen bekommen können. Klingt ein bisschen wie Verhütung, oder? Denn wie auch im echten Leben, können […]
Schlagwörter: Eclipse Programmierung, Java Keyword, Java Klasse, Java Programmierung
Es macht durchaus Sinn deine Java Klassen in verschiedenen Paketen zu organisieren. Wieso? Es sprechen mehrere Gründe dafür: Du kannst doppelte Klassennamen verwenden Du kannst deinen Code oder deine Klassen inhaltlich trennen Du kannst Hierarchien abbilden. Und genau um diese Dinge geht es in diesem Beitrag
Schlagwörter: Abstraktion, Java Polymorphie, Java Programmierung
Kennst du den Film Matrix? Denn kennst du vielleicht auch die Botschaft, welche der Protagonist am Anfang des Filmes erhält. „Folge dem weißen Kaninchen.“ Und so ähnlich ist es jetzt auch in diesem Beitrag. „Wir dringen immer tiefer in den Kaninchenbau ein.“ Ganz so wie im Film wird es nicht. […]
Schlagwörter: Java Operatoren, Java Programmierung
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 […]
Schlagwörter: Java Programmierung
Bei der Java Programmierung sind Kommentare mitunter genauso wichtig wie der eigentliche Code. Denn ein guter Kommentar zeigt dir sofort, was mit dem Code gemeint ist, was dieser bewirkt und was sich der Entwickler dabei dachte. Wie werden Kommentare in Java gesetzt? Die Kommentare werden in Eclipse immer grün dargestellt. […]
Schlagwörter: Java Polymorphie, Java Programmierung
Polymorphie ist das Herzstück jeder objektorientierten Sprache. Nicht nur in Java – auch in Python, Javascript und in anderen Sprachen. Aber was bedeutet Polymorphie eigentlich? Polymorphie oder auch Polymorphismus genannt, kommt aus dem Griechischen. Es bedeutet Vielgestaltigkeit. Etwas freier übersetzt, kannst du es auch als Facettenreichtum bezeichnen. Im Grunde genommen […]
Schlagwörter: Java Instanzen, Java Klasse, Java Vererbung
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 […]
Schlagwörter: Java Instanzen, Java Konstruktor, Java Programmierung
Du kannst deinen Java Konstruktoren auch Objekte übergeben. Bisher haben wir in der Parameterliste lediglich primitive Datentypen übergeben.
Schlagwörter: Java Operatoren, Java Programmierung
In diesem Beitrag möchte ich dir den Xor Operator von Java vorstellen. Dieser Operator wird auch als ausschließendes oder exklusives Oder bezeichnet. Was bedeutet das Exklusives Oder in der Java Programmierung Ein Beispiel: Was willst du heute zum Mittag essen: Fleisch oder Fisch? Auf diese Frage gibt es nur eine […]
Schlagwörter: Java Methoden, Java Programmierung
Du hast die ersten Java Methoden erstellt. Doch wie greifst du jetzt auf diese zu? Wie kannst du diese Methoden in einer anderen Klassen aufrufen? Welcher Unterschied, hinsichtlich des Methodenaufrufes, besteht eigentlich zwischen deinen Java Methoden? Diese Fragen möchte ich gern in diesem Beitrag beantworten. Möglichkeiten, um Methoden in Java […]
Schlagwörter: Java Klasse, Java Programmierung
Java ist eine objektorientierte Programmiersprache. Was heißt das? Ja… Anscheinend hat es etwas mit Objekten zu tun. Also was ist ein Objekt? Ein Objekt ist ein bestimmtes Konstrukt im Programm. Bauen wir ein Spiel. Ein Grafik-Adventure. Du kennst das. Ein Held wird in eine bestimmte Spielwelt hinein gesteckt. Der Held […]
Schlagwörter: Java Keyword, Java Konstruktor, Java Programmierung
Es ist gemein. Wahrscheinlich hast den Beitrag zu den lokalen Variablen gelesen. Vielleicht hast du auch den Artikeln zum Anlegen und Überladen von Java Konstruktoren gelesen. Und wenn du die beschriebene Inhalte selbst ausprobiert hast…… Dann hast du dir wahrscheinlich sehr viele lokale Variablennamen für die Parameterliste ausdenken müssen.
Schlagwörter: Java Access Modifier, Java Keyword, Java Programmierung
Kennst du das? Dieser Bereich ist nur für Mitglieder. Und der Java Access Modifier „Package private“ ist so ein Bereich,
Schlagwörter: Java Instanzen, Java Klasse, Java Vererbung
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 […]
Schlagwörter: Java Programmierung
Bevor du loslegst und deine ersten Java Programme schreibst, benötigst du die entsprechende Arbeitsumgebung. Du solltest also Java installieren. Und diese Arbeitsumgebung beinhaltet dann Bibliotheken für die einzelnen Java-Standard-Klassen, Dateien um deine Programme auszuführen. Dateien um deine Programme zu packen, Logische Verzeichnisstrukturen
Schlagwörter: Java Instanzen, Java Programmierung
Auf Java Objekte greifst du mit einer Art Fernsteuerung zu. Diese bezeichnet man als Referenz oder als Verweis. Und diese Referenzvariablen möchte ich dir jetzt einmal vorstellen. Doch bevor wir loslegen, lass mich noch ein paar Dinge loswerden. Ich habe es ja schon einmal in einem früheren Beitrag erwähnt. Java […]
Schlagwörter: Java Arrays, Java Programmierung
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 […]
Schlagwörter: Java Instanzen, Java Klasse, Java Programmierung, Java Variablen
Ja, ich fange sämtliche Artikel so an. Und du weißt es mittlerweile. Aber die Java Klassen stellen Baupläne für die Objekte dar, welche du erschaffen willst. Und in so einem Bauplan oder einer Gebrauchsanweisung brauchst du zwingend bestimmte Eigenschaften. Ich habe dir ja im letzten Artikel gezeigt, wie du eine […]
Schlagwörter: Binäres Zahlensystem, Dezimalsystem, Java Programmierung
Erinnerst du dich? In einer der letzten Beiträge haben wir uns die Zusammenhänge zwischen dem dualen und dem dezimalen Zahlensystem angeschaut. Aber wir haben noch keine Java Binärzahl in eine Dezimalzahl verwandelt. Zumindestens nicht praktisch…. Stattdessen…. Haben wir festgestellt, dass beide Zahlensysteme im Grunde genommen sehr ähnlich sind. Beim Dezimalsystem […]
Schlagwörter: Java Klasse, Java Programmierung
Datum und Uhrzeit mit Java. – Wie geht das? Es gibt verschiedene Möglichkeiten das Datum und auch die Uhrzeit in Java darzustellen. Eine Möglichkeit bietet die Java Klasse Calendar. Lass uns einmal einen Blick hinein werfen.
Schlagwörter: Farbschlag, Vererbung, Wellensittich
Die Farbe der Wellensittiche entsteht durch ein Zusammenspiel von einem Farbstoff und einem dunklen Pigment. Die Menge oder das Fehlen eines oder beider Komponenten führt dazu, dass Wellensittiche jede Farbe annehmen können, bis auf Rot. Die Farbgebung der Wellensittiche Welche Farben die Federn eines Wellensittichs haben, ist genetisch bedingt. Die […]
Schlagwörter: Java Klasse, Java Vererbung
Bei der Java Vererbung gibt es zwei Klassenarten bzw. -stufen. Die Superklassen, welche einen allgemeinen Typen darstellen Und die spezielleren Unterklassen, welche die Superklasse um bestimmte Funktionen erweitern. Jetzt ist dieses ganze „Der-erbt-von-dem-Konzept“ mitunter sehr schwierig darzustellen. Zum Beispiel in einem Werkzeugkoffer. In einem Werkzeugkoffer befinden sich sämtliche Werkzeuge, von […]
Schlagwörter: Java Methoden, Java Programmierung
Ich lege gleich los…. Schau dir diesen Code einmal an. Welche Zahl wird wohl auf der Bildschirmanzeige zurückgegeben? public class MethodenWertUebergabe { static int verdoppele (int i){ i=i*2; return i; } public static void main(String[] args) { int i = 2; verdoppele(i); System.out.println(i); } }
Schlagwörter: Java Exceptions, Java Programmierung
Java Exceptions Handling umfasst den richtigen Umgang mit Ausnahmen und Fehlern. Wie geht das? Und braucht man so etwas wirklich? Vielleicht sagst du jetzt: „Brauch ich nicht. Ich mache niemals Fehler.“ Doch… Bei der Java Fehlerbehandlung geht es nicht ausschließlich nur um deine Programmierfehler. Es geht auch um falsche Nutzereingaben, […]
Schlagwörter: Java Programmierung, Java Schleifen
Es ist doch eigentlich so: Immer wenn du die Anzahl der Schleifendurchläufe nicht kennst, nutzt du in deinen Java Programmen while Schleifen. Doch Java bietet dir neben der While Schleife einen weiteren Schleifentyp an. Diese nennt sich do while Schleife. Was kann die? Eigentlich genau das Gleiche, wie die while […]
Schlagwörter: Java Programmierung, Java Schleifen
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 […]
Schlagwörter: Gen, Kultur, Verbreitung, Vererbung
Gibt es ein Kulturgen bzw. eine kulturelle Vererbung? Kulturen gibt es schon so lange es Menschen gibt beziehungsweise seit Gemeinschaften zwischen Menschen existieren. Mit dem Begriff Kultur verbindet man fast automatisch Dinge wie Musik, Tanz oder Malerei. Doch eine Kultur geht noch weit darüber hinaus. Es handelt sich um ein […]
Schlagwörter: Java Programmierung
Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du […]
Schlagwörter: Binäres Zahlensystem, Dezimalsystem, Java Programmierung
In einem der letzten Beiträge habe ich dir gezeigt, wie du eine Dualzahl in eine Dezimalzahl umwandelst. Diesmal geht es in die andere Richtung. Eine Dezimalzahl soll in eine binäre Zahl umgerechnet werden. Doch zuvor…. Beginnen wir bei den theoretischen Grundlagen beider Zahlensysteme.
Schlagwörter: Java Exceptions, Java Keyword, Java Programmierung
Ich bereue lieber die Dinge, die ich getan habe – als die Dinge, welche ich gar nicht erst versucht habe. Ja ich würde mich als den typischen „try-and-error-Menschen“ bezeichnen. Was ich will, probiere ich einfach aus und schaue dann erst was passiert. So etwas wie Pläne kenne ich eigentlich nicht. […]
Schlagwörter: Java Instanzen, Java Methoden, Java Programmierung
Du ahnst es. Im letzten Artikel hast du von mir erfahren, wie du ein Java Objekt erstellst und wie du dann auf die Instanzvariablen des Objektes zugreifen kannst. So kannst Instanzmethoden für deine Java Objekte nutzen Bei den Instanzmethoden funktioniert es auch so. Du erschaffst beliebig viele Java Objekte und […]
Schlagwörter: Java Instanzen, Java Klasse, Java Methoden, Java Programmierung
In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich […]
Schlagwörter: Java Arrays, Java Programmierung
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 […]
Schlagwörter: Java Klasse, Java Vererbung
Vererbungsbaum in Java – klingt erstmal komisch. Dennoch wird dies so bezeichnet. Gemeint sind damit – die einzelnen Hierarchiestufen oder Vererbungsebenen – von der Superklasse bis runter zu den Kindklassen. Wie sieht das nun konkret aus? Vererbung bedeutet: Du definierst einen allgemeinen Typen – zB. Möbel Und dann implementierst du […]
Schlagwörter: Java Programmierung, Java Schleifen
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. […]
Schlagwörter: Eclipse Programmierung, Java Programmierung
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 […]
Schlagwörter: Java Programmierung
Java Konstanten – was kann man sich darunter vorstellen? Du kennst Konstanten in der Mathematik. Die Kreiszahl Pi ist so eine konstante Zahl. Diese Zahl ändert sich niemals. Sie beträgt immer rund 3,141592. In der Physik gelten die Lichtgeschwindigkeit, der Erdradius oder der absolute Nullpunkt als konstant. Selbst die Geschwindigkeit […]
Schlagwörter: Java Programmierung, Konvention, Name
Beiderjavaprogrammierungsolltestduaufdierichtigenamensvergabeachten. indennnamengebendeinenjavaprogrammeinegrundlegendestruktur. Was sagen dir die beiden oberen Sätze? Häh? Da steht: Bei der Java Programmierung solltest du auf die richtige Namensvergabe achten. Denn Namen geben deinem Java Programm eine grundlegende Struktur. Jede Sprache braucht Regeln. Diese Regeln, wie Grammatik oder Rechtschreibung geben der Sprache eine Struktur. Jeder Leser, welcher […]
Schlagwörter: Java Klasse, Java Programmierung
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 […]
Schlagwörter: Java Instanzen, Java Klasse, Java Programmierung, Java Variablen
Bei der Java Programmierung unterscheidet man drei Arten von Variablen. Als erste Gruppe sind die lokalen Variablen zu nennen. Auf diese gehe ich in einem separaten Artikel ein. Mich interessieren die zwei anderen Variablentypen. Zum einen existieren Klassenvariablen. Und dann sind da noch die Instanzvariablen. Wo liegt der Unterschied zwischen […]
Schlagwörter: Eclipse Programmierung, Java Programmierung
Probieren geht über studieren Wenn du wirklich Java Programmierung lernen möchtest, dann solltest du Java nicht aus einem Buch lernen. Du solltest auch nicht strikt von dieser oder anderen Webseiten lernen. Etwas wirklich zu lernen, setzt die Bereitschaft voraus, etwas zu probieren. Denn nur durch eigenes Probieren gelangst du zum […]