Skip to main content

So kannst du Java Instanzvariablen deklarieren, initialisieren und zugreifen


Instanzvariablen Java Klasse content

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 Klasse erstellen kannst.

Ich habe dafür die Beispielklasse „Mensch“ oder „Human“ entworfen.
Lass uns diese Klasse jetzt ein bisschen mit Leben füllen.

Wenn du die Java Klasse „Human“ weiter entwickeln möchtest, brauchst du Eigenschaften für den Menschen, welchen du erschaffen willst.

Und diese Eigenschaften nennt man in der Java Entwicklung auch Member oder Attribute.

Du solltest dir überlegen, welche Eigenschaften so ein Mensch hat.

Das kann eine Körpergröße, eine Haarfarbe oder das Gewicht sein.

Und diese Eigenschaften werden jetzt der Klasse zugewiesen.

Ganz konkret legst du jetzt Instanzvariablen an.

Warum heißen die Dinger so?

Als Instanzen bezeichnet man Objekte. Und du weißt ja schon, dass man die Objekte aus den Klassen heraus erschafft.

Also haben wir bereits eine Klasse „Human“ oder „Mensch“ angelegt und somit den Bauplan oder eine Gebrauchsanweisung für einen Menschen.

Den Mensch, welchen wir später daraus erschaffen, nennen wir Objekt oder Instanz.

Und diesen Menschen weisen wir jetzt Eigenschaften zu.
Und dann speichern wir diese Eigenschaften in Instanzvariablen ab.

Ganz konkret sieht das so aus.

Wir legen eine Variable an und weisen dieser Variablen einen bestimmten Datentyp zu.

Ja und warum denn das noch?

Deine Daten oder die Eigenschaften des Menschen werden abgespeichert im Hauptspeicher.

Und die Variablen weisen dem Hauptspeicher einen bestimmten Platz bzw. einen bestimmten Ort zu.

Nehmen wir einfach mal an. Du erschaffst einen Menschen mit bestimmten Eigenschaften.

Jetzt muss dein Hauptspeicher doch wissen, wo die einzelnen Eigenschaften des Menschen zu finden sind.

Ansonsten kann er den Menschen später im Programm nicht schaffen und der Rechner sucht sich tot.

Und da der Rechner auch nur ein Mensch ist 🙂 , geht dieser sehr sorgsam mit seinen Ressourcen um.

Du musst dem Rechner also schon von Anfang an sagen, wieviel Platz er benötigt, um diese Variable zu speichern.

Also musst du deiner Variable nicht nur einen Namen geben, sondern auch einen konkreten Datentyp zuweisen.

Und dein Computer weiß dann Okay … das ist die Variable, namens größe, welche wir benötigen um einen Menschen zu erschaffen und ich reserviere dafür den Speicherplatz x mit einem Speicherplatzvolumen y.

Also lass uns das ganze einfach mal machen.

Schritt 1: Instanzvariable deklarieren

Blödes Verb aber keine Angst – das tut nicht weh

Als Variablendeklaration ist die Zuweisung des Speicherortes gemeint.
Wir sagen also dem Hauptspeicher, welchen Datentyp wir benötigen und wieviel Speicherplatz wir brauchen.

Die Größe des Menschen wird gemessen in Zahlen.
Und für Zahlen hat Java ein paar Datentypen parat.

Einer dieser Datentypen nennt sich Integer.
Abgekürzt schreiben wir int.


public class Human {
int
}

Du siehst, dass das kleine Wörtchen int wieder fett und lila hervorgehoben wird. Es handelt sich also um ein Keywort und Eclipse macht dir dies deutlich.

Schritt 2: Gib deiner Instanzvariablen coole Namen

Danach erfolgt der Name groesse oder besser englisch size.


public class Human {
int size;
}

Wichtig ist, dass du hinter jeden Codeblock immer ein Semikolon setzt. Java weiß dadurch, dass deine Anweisungen zu Ende sind und eine nächste beginnt.

Also schreibe int size;

So was ist bis jetzt passiert?

Du hast deinem Rechner angewiesen eine Variable namens size anzulegen und dafür hat der Rechner den Speicherplatz eines Integer Datentypen reserviert.

Schritt 3: Weise der Intanzvariablen einen Wert zu.

Jetzt weisen wir dieser Variablen einen Wert zu.

Dieser Schritt optional.

Er muss also nicht zwingend an dieser Stellen gemacht werden.
Du kannst eine Zuweisung auch später im Programm vornehmen.

Denn der Computer weiß jetzt schon alles, was er benötigt, um später mit dieser Instanzvariablen arbeiten zu können.

Dennoch kannst du der Instanzvariablen einen Zahlwert zuweisen.


public class Human {
int size=156;
}


Lies den Code immer von rechts nach links

Der Computer nimmt jetzt die Zahl 156 und packt diese Zahl in die Variable size. Für diese Variable hat der Rechner bereits Speichervolumen in Höhe einer Integer-Variable reserviert.

Probieren geht über Studieren

Was passiert, wenn wir jetzt statt der Zahl 156 einen Wert, wie Mathias also einen Vornamen zuweisen?

Klar, dafür wurde kein Speicherplatz reserviert.

Aber vielleicht geht es ja doch. Lass es uns probieren.
Ich bin der Meinung, dass man bei neuen Dinge nicht nach Schema F aus irgendeinem Buch oder von einer Webseite lernen sollte.

Versuche immer selbst die Dinge auszuprobieren und schau, was passiert.
Java lernen ist etwas Praktisches.
Es hat somit viel mit Erfahrung zu tun.


public class Human {
int Mathias;
}


Links siehst du die Fehlermeldung

Links siehst du die Fehlermeldung



Ja, wie erwartet spuckt Eclipse eine Fehlermeldung am Rand aus.

Als Hinweis erscheint „Mathias cannot be resolved to a variable“.

Und jetzt weißt du schon einmal, wie du später diese Fehlermeldung einordnen kannst.

Also Code zurücksetzen.
Wir können nur Zahlen im Wertebereich Integer speichern.


public class Human {
int size=156;
}


Worauf du noch achten solltest, wenn du eine Instanzvariable anlegst.

Die Namen der Instanzvariablen folgen einer bestimmten Konvention.

Und zwar schreibt man Instanzvariablen immer klein.
Dabei ist die CamelCase Konvention einzuhalten.

Also schreibst du den Namen für eine Variable immer klein und wenn sich dieser Name aus mehreren Wörtern zusammensetzt, schreibst du klein und dann groß.
Wenn du jetzt für size, the size (die Größe) wählen würdest, wäre dies in CamelCase: theSize.

Oder komplett als Code:


public class Human {
int theSize=156;
}

Außerdem solltest du die Variablen immer kommentieren.
Setze hinter den Instanzvariablen immer zwei Schrägstriche um zu kommentieren.

Gerade bei Variablen solltest du auch später noch wissen, in welchen Einheiten diese angegeben werden. Die Größe eines Menschen kann in Zentimeter, in Metern oder gar in Millimeter angegeben werden.

Also immer zwei Schrägstriche hinter jede Variable und fleißig kommentieren.


public class Human {
int size=156;//size in centimeter
}



Zusammenfassung:
Variablen weisen den Hauptspeicher einen bestimmten Speicherort zu.
Instanzvariablen sind als Eigenschaften eines Objektes zu verstehen.

Instanzvariablen werden in drei Schritten erstellt.
Schritt 1: Datenbereich festlegen
Schritt 2: Namen der Variablen festlegen
Schritt 3: Wertzuweisung

Java ist streng typisiert. Du kannst somit in einem reservierten Datentypen nur bestimmte Daten speichern.

Instanzvariablen werden außerdem immer klein geschrieben.
Hinter jeder Instanzvariablen gehören immer Kommentare.

Willst du mehr über Java lernen, dann schau dir meine Einführungsseite an.

Hat dir der Artikel gefallen?
Hast du vielleicht selbst noch Anmerkungen?

Dann schreibe mir doch unten ein Kommentar zum Artikel.