Skip to main content

So lassen sich die Felder der Java Klassen initialisieren

Lass uns die Attribute in den Java Klassen initialisieren.
Ich sagte es bereits, dass du Felder oder Variablen deklarieren und initialisieren kannst.

Deklarieren heißt Variable anlegen.
Und Initialisieren ist der der Variable einen Wert zuweisen.

Was bisher geschah:
In unserem Einführungsbeispiel wurden bisher:

  • Java Klassen erstellt
  • Eine Klasse für den Programmstart angelegt
  • Instanzvariablen deklariert
  • Und wir haben zwei Objekte erstellt.

Java Klassen Felder Klassen des Adventures

In diesem Beitrag werde ich dir zuerst zeigen, wie du den Objektvariablen Werte zuweist.
Außerdem möchte ich dir zeigen, wie du diese Werte nachträglich ändern kannst.

Auf die Objekte der Java Klassen greifst du per Punktnotation zu.

In der Start-Klasse befindet sich die main-Methode zum Programmstart.

Und innerhalb dieser main-Methode haben wir zwei Referenzvariablen angelegt.
Diese heißen: „heldEins“ und „heldZwei“.


public class Start {

	public static void main(String[] args) {
		Held heldEins = new Held();
		Held heldZwei = new Held();
	}
}

Beide Referenzvariablen verweisen auf jeweils ein Objekt.

Java Klassen Referenzvariablen

Wichtig ist die Tatsache, dass die Variablen „heldEins“ oder „heldZwei“ nicht die Objekte sind.
In diesen Variablen wurde lediglich die Speicheradresse der Objekte hinterlegt.

Und um jetzt das Objekt anzusprechen, musst du eine Punktnotation einleiten.

Was ist das?

  • Du gibst den Namen der Variablen an.
  • Setzt einen Punkt.
  • Und dann rufst du die Instanzvariable auf.

Java-Punktnotation

Durch die Punktnotation wird genau das Objekt angesprochen, auf welches die Referenzvariable verweist.
Und Objekte sind eine Zusammenfassung der Daten einer Klasse.
Somit beinhalten die Objekte alle Instanzvariablen der entsprechenden Java Klassen.
Und diese Zusammensetzung der Variablen existiert bei zwei Objekten zweimal.
Java Klassen 2 Objekte

Es hat somit jedes Objekt seine eigenen Instanzvariablen, abgeleitet aus der Java Klasse aus der es stammt.

Am besten am Beispiel.

So kannst du die Werte der Attribute in den Java Klassen ändern.

Am Beispiel der Heldklasse machst du es so:

  • Referenzvariable „heldEins“ oder „heldZwei“ eingeben.
  • Punkt setzen und somit das Objekt ansprechen.
  • Und dann das Element bzw. Feld eingeben, welches du ändern möchtest (das Alter).
  • Dem Element mit dem Zuweisungsoperator (=) einen Wert zuweisen.

public class Start {

	public static void main(String[] args) {
		Held heldEins = new Held();//Helden Objekt 1
		Held heldZwei = new Held();//Helden Objekt 2
		
		
		heldEins.heldAlter=24;//Zuweisung des Wertes 24
	}
}

Das war es schon.
Was heißt das jetzt?

  • Das Objekt, auf welches die Variable „heldEins“ verweist, hat drei Instanzvariablen.
  • Die Instanzvariable „heldAlter“ hat den Wert 24.
  • Die Instanzvariable „heldGroesse“ hat den Wert 0.
  • Und das Feld „heldName“ hat den Wert null.

Wieso das?
Ganz einfach.
Sobald ein Objekt erstellt wird, werden alle Instanzvariablen zum Objekt deklariert.
Und zum Programmstart werden alle Instanzvariablen initialisiert.

Die Instanzvariablen, welchen du einen Wert zugewiesen hast, erhalten diesen und alle anderen erhalten einen default-Wert.
Und dieser default-Wert richtet sich nach dem Datentypen, welchen du vereinbart hast.
Im Falle von String (heldName) ist dieser null, also nichts.
Im Falle von double (heldGroesse) ist dieser 0,0.

Du kannst es selbst testen.
Denn du kannst dir die Werte der Attribute an der Konsole ausgeben lassen.

So kannst du dir die Eigenschaftswerte der Java Klassen an der Konsole anzeigen lassen.

Eine Konsolenausgabe erzeugst du mit der Anweisung: System.out.println().

Und in die Klammern der Anweisung kannst du sämtlichen Code eingeben.
So natürlich auch den Objektaufruf mit Attribut.

  • Also Referenzvariable
  • Punkt
  • Attribut

public class Start {

	public static void main(String[] args) {
		Held heldEins = new Held();// Helden Objekt 1
		Held heldZwei = new Held();// Helden Objekt 2

		heldEins.heldAlter = 24;// Zuweisung des Wertes 24

		System.out.println(heldEins.heldName);// Rückgabe: null
		System.out.println(heldEins.heldAlter);// Rückgabe: 24
		System.out.println(heldEins.heldGroesse);// Rückgabe: 0,0

		// Und die Werte für das zweite Objekt
		System.out.println(heldZwei.heldName);// Rückgabe: null
		System.out.println(heldZwei.heldAlter);// Rückgabe: 0
		System.out.println(heldZwei.heldGroesse);// Rückgabe: 0,0
	}
}

Wenn du selbst diesen Code einmal ausführst, siehst du dass alle Felder in der Java Klasse initialisiert worden.
Du bekommst den Initialisierungswert zurück.
Du bekommst außerdem für Objekt 1 ein anderes Alter als für Objekt 2.

Jetzt lass uns etwas mit den Werten herumspielen. 🙂

Jetzt lass uns die Werte für zwei Helden anlegen.

Java Klassen 2 Objekte

Und hier der Code:


public class Start {

	public static void main(String[] args) {
		Held heldEins = new Held();// Helden Objekt 1
		Held heldZwei = new Held();// Helden Objekt 2
		
		//Zuweisung für erstes Held-Objekt
		heldEins.heldName = "Moritz";//Zuweisung Namen für erstes Objekt
		heldEins.heldAlter = 24;// Zuweisung des Wertes 24
		heldEins.heldGroesse= 1.82;//Zuweisung Größe
		
		//Belegung für Held 2
		heldZwei.heldName = "Paula";
		heldZwei.heldAlter = 32;
		heldZwei.heldGroesse= 1.73;
		
		//Konsolenausgaben zu Held 1
		System.out.println(heldEins.heldName);// Rückgabe: Moritz
		System.out.println(heldEins.heldAlter);// Rückgabe: 24
		System.out.println(heldEins.heldGroesse);// Rückgabe: 1,82

		// Und die Werte für das zweite Objekt
		System.out.println(heldZwei.heldName);// Rückgabe: Paula
		System.out.println(heldZwei.heldAlter);// Rückgabe: 32
		System.out.println(heldZwei.heldGroesse);// Rückgabe: 1,82
	}
}

Was gilt es bei den Zuweisungen zu beachten?

  • Der Name ist ein String-Datentyp.
    Und diese Zeichenketten übergibst du immer in Anführungszeichen.
  • Die Größe ist eine Gleitkommazahl.
    Das Komma kann Java nicht verarbeiten.
    Setze stattdessen einen Punkt.
  • Achte auf das Semikolon hinter jeder Anweisung.

So- es wurden alle Felder für beide Objekte initialisiert.
Da geht aber noch mehr.

Du kannst als Wert ein Ergebnis von mathematischen Berechnungen zuweisen.

So wie hier:


public class Start {

	public static void main(String[] args) {
		Held heldEins = new Held();// Helden Objekt 1
		Held heldZwei = new Held();// Helden Objekt 2
		
		heldEins.heldAlter = 24*2;// Zuweisung einer mathematischen Berechnung

		//Konsolenausgaben zu Held 1
		System.out.println(heldEins.heldAlter);// Rückgabe: 48
	}
}

Wie wäre es, wenn Held 2 immer doppelt so alt wäre, wie Held 1.
So geht’s.


public class Start {

	public static void main(String[] args) {
		Held heldEins = new Held();// Helden Objekt 1
		Held heldZwei = new Held();// Helden Objekt 2
		
		heldEins.heldAlter = 24*2;// Zuweisung einer mathematischen Berechnung
		
		heldZwei.heldAlter = heldEins.heldAlter*2;//Held 2 ist doppelt so alt
		
		//Konsolenausgaben zu Held 1 & 2
		System.out.println(heldEins.heldAlter);// Rückgabe: 48
		System.out.println(heldZwei.heldAlter);//Rückgabe 96
	}
}

Du kannst also nicht nur reine Werte zuweisen.
Es ist auch möglich das Ergebnis von mathematischen Gleichungen in den Felder zu speichern.

Ja – es ist sogar möglich, Methoden anzulegen.
Und diese Methoden verändern die Werte der Attribute.

Stell dir vor eine wachsen-Methode, welche die Größe des Helden ändert.

Und um diese Methoden geht’s im nächsten Beitrag.

Zusammenfassung:

  • Die Felder von Java Klassen werden initialisiert, sobald das Objekt angelegt wurde.
  • Dabei bekommen alle Attribute einen sogenannten default-Wert zugewiesen.
  • Du kannst den Wert der Variablen im Nachhinein abändern.
  • Dazu musst du an der Referenzvariablen die Punktnotation ausführen.
  • Durch die Punknotation oder dem Punktoperator sprichst du das Objekt direkt an.
    Du kannst dann jede vorgesehene Instanzvariable wählen und ihr einen individuellen Wert zuweisen.

Ähnliche Beiträge

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

Ohne Abstraktion ergibt Java Polymorphie wenig Sinn

Java Polymorphie Abstraktionsprinzip

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. Aber bevor wir mit […]

So einfach lassen sich Java Strings umkehren

Java Strings umkehren

Kennst du noch das Lied „ANNA“ von Freundeskreis? Da hieß es: Du bist von hinten, wie von vorne A-N-N-A. Solche Namen oder Wörter, welche von hinten nach vorne gelesen – die gleiche Bedeutung haben, nennt man Palindrome. Anna, Ehe oder Ebbe sind recht kurze Palindrome. Aber auch längere zusammengesetzte Palindrome kennt die deutsche Sprache: Regallager […]

So kannst du Instanzen in Java Klassen zählen

Wie kannst du die Instanzen der Java Klassen zählen? Ganz einfach. Am besten ist es, wir bleiben beim Einführungsbeispiel zu den Java Klassen. Und ich wähle die Klasse „Monster“. Um es einfach zu halten, soll auch der Programmstart durch die Klasse erfolgen. Die Klasse bietet somit eine main-Methode an.

Java Polymorphie – besserer Code und mehr Möglichkeiten

Java Polymorphie Vorteile

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 zielt die ganze Java Vererbung […]

Die vier wichtigen Phasen um Java Objekte zu erstellen

Java Objekte anlegen

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 und wie du dieses Problem […]

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

So kannst du ein neues Java Projekt mit Eclipse anlegen und konfigurieren

Java Projekt anlegen Eclipse

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 des Projektes eigentlich passiert ist.