Skip to main content

Die drei Bestandteile aller Java Klassen

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 muss mit bestimmten Personen sprechen.
Er muss Gegenstände einsammeln und diese an anderer Stelle nutzen.
Und natürlich muss der Held Rätsel lösen.

Und all das dient dazu, die Story voran zu bringen.

Und all die Dinge,

  • Der Held
  • Die Gegenstände
  • Die anderen Personen

Sind in einem Java Programm Objekte.

java klassen objekte

Aber Objekte stehen dir nicht von Anfang zur Verfügung.
Diese müssen erst einmal gebaut werden.

Und für jeden Zusammenbau benötigst du einen Bauplan oder eine Gebrauchsanweisung.

Du brauchst Baupläne für den Helden, für die Gegenstände usw.
Und diese Baupläne sind deine Java Klassen.

Also sind Java Klassen nichts anderes als Baupläne für deine Adventure Objekte.

Und so eine Klasse besteht wiederum aus Konstruktoren, Methoden und Variablen.

Und jetzt lass und diese einzelnen Dinge für dein Adventure planen.

Du nutzt einige Variablen für bestimmte Objekte und andere für das ganze Programm.

Variablen treten in drei Formen auf.

  • Instanzvariablen
  • Klassenvariablen
  • Und lokale Variablen

Instanzvariablen sind Objektvariablen.
Diese stehen für deine Objekte bereit.
Variablen sind so etwas wie Eigenschaften der Objekte.

In deinem Java Adventure hat der Held eine bestimmte Größe, einen Namen, eine Farbe usw.
Und auch die Gegenstände haben Eigenschaften.

All das wären Objektvariablen.
Anders gesagt die Objekteigenschaften.

java klassen variablen

Neben den Instanzvariablen gibt es noch Klassenvariablen.
Diese Variablen werden auch statische Variablen genannt.

Und so eine statische Variable kann von allen Objekten genutzt werden.
Und außerdem dienen diese Variablen dem kompletten Programm bzw. dem Spiel.

Zum Beispiel könnte eine Highscore Liste angeboten werden.
Oder die einzelnen Szenen haben gewisse Frameraten.
All dies wären Beispiele für Klassenvariablen.

Deine Objekte müssen etwas können. Für Interaktionen nutzt du Methoden

Du kennst das vielleicht auch.

In alten Adventure standen unter dem Bildschirm immer Befehle, wie „Gehe zu“, „Benutze“, „Rede mit“ usw.
All dies sind die Tätigkeiten, welche der Held im Spiel vollbringen kann.

Und diese Tätigkeiten bietest du bei der Java Programmierung in Methoden an.
Ganz konkret sind dies Instanz- oder Objektmethoden.

java-klassen-methoden

Du ahnst es.
Objektmethoden sind lediglich Methoden für die einzelnen Objekte im Programm.

Du hast recht.

Neben den Objektmethoden gibt es wieder statische Methoden. Und diese Klassenmethoden sind wichtig für das komplette Programm.
Statische Methoden sind zum Beispiel:

  • Starte das Spiel
  • Erschaffe dieses Objekt
  • Beende dieses Spiel.

Jetzt hast du die Eigenschaften deines Helden und der anderen Gegenstände in den Variablen festgelegt.
Du hast in den Methoden die Tätigkeiten der einzelnen Objekte bereitgestellt.

Jetzt musst du diese nur noch erschaffen.
Du musst also ein Objekt erschaffen, welches die Eigenschaften und die Methoden bereitstellt.

Und dies machst du mit einem Konstruktor.

Konstruktoren sind die ganz konkreten Baupläne der einzelnen Java Klassen.

Mit einem Konstruktor erschaffst du ein Objekt.

Und jetzt kannst du deinem Objekt von Anfang an bestimmte Dinge mitgeben.
Beispielsweise die Farbe des Helden.

Klar der Held hat irgendwelche Klamotten mit bestimmten Farben an.
Für ein Adventure untypisch aber in Rollenspielen gängig, ändert sich die Ausrüstung der Helden.

Alle Eigenschaften und alles was dein Held von Anfang an kann, wird im Konstruktor festgelegt.
Somit ist der Konstruktor eine ganz konkrete Bauanweisung zur Erschaffung des Objektes.

Einen statischen Konstruktor, welche für das Programm zuständig ist, gibt es nicht.
Konstruktoren stehen somit nur Objekten zur Verfügung.

Was bringt das ganze Klassenkonzept.

Stell dir vor…

Du hast das ganze Spiel fertig gestellt.
Und jetzt stellst du fest. Der Held sollte kein Mann sein, sondern eine Frau.

Was dann?
Du müsstest das ganze Programm ändern. Jede einzelne Spielszene müsstest du abändern.

Jede Person im Spiel müsste dich anders ansprechen.

Ganz doof.

Aber nicht in Java.
In Java hast du das ganze ja in Objekten und Klassen gegliedert.

Du brauchst zentral somit nur einige Variablen der Heldenklasse ändern und diese wirken sich auf das ganze Programm aus.

Du kannst dir dieses Konzept in etwa so vorstellen.

Jede Szene lädt das Heldenobjekt in das Programm.
Sobald du den Helden zentral abänderst, ändern sich natürlich auch alle Szenen ab

java-klasse-teile

Zusammenfassung:

  • Java Programme bestehen aus Klassen.
  • Java Klassen bestehen aus Methoden, Variablen und Konstruktoren.
  • Dabei solltest du unterscheiden, ob die Variablen und Methoden für Objekte oder für das komplette Programm zur Verfügung stehen.
  • Konstruktoren dienen dazu ein Objekt ganz konkret zu erschaffen.

Nah, wie hat dir dieser Artikel gefallen?
Hast du auch richtig Bock bekommen ein Spiel zu programmieren?

Hinterlasse mir doch einen Kommentar unter diesem Beitrag.


Ähnliche Beiträge

Nutze das Keyword this für deine Java Konstruktoren

Java konstruktoren this

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.

Overriding und Vererbung – So lassen sich Java Methoden überschreiben

Java Methoden überschreiben

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 Die Länge des Minutenzeigers beträgt […]

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

Über das kurze Leben einer lokalen Variablen

Java Variable lokal

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 uns zuerst Klassen- und Instanzvariablen […]

Java Binärzahl in Dezimalzahl umwandeln – So geht’s.

Java-Binärzahl-umrechnen

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 spielt die Zahl 10, als […]

Der bedeutende Unterschied zwischen Klassenvariablen und Instanzvariablen

Java Klassenvariablen

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? Instanzvariablen stehen einem Objekt zur Verfügung. […]

Java lernen – 10 nützliche Tipps für Java Anfänger

Java Lernen Anfänger

Wenn du die Programmiersprache Java lernen möchtest, bist du hier prinzipiell erst einmal richtig. Und wenn du es wirklich ernst meinst und in die Java Programmierung einsteigen möchtest, solltest du auch meinen kostenlosen Java Kurs beanspruchen. Wenn du dabei bist, bekommst du: Eine Lektion pro Woche zu den Basics. Hier geht es um die ersten […]

Java Methoden mit variabler Argumentenanzahl – VarArgs

Java Methoden mit variabler Argumentenanzahl VarArgs

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 unterbringen. Ich erinnere mich noch: […]

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 Übung: Alles beginnt mit Hello World

Java Übung Hello World

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“ public class HelloWorld{ public static […]