Skip to main content

Java Übung 12 – Erstelle Java Objekte mit mehreren Verweisen

In dieser Java Übung geht es um Objekte und es geht um Referenzvariablen.
Es geht um den Zugriff auf Java Objekte durch mehr als eine Referenzvariable.

Erstelle dazu eine Java Klasse, namens „ReferenzTest“.
Dieser Klasse führt drei Instanzvariablen a, b und c, vom Datentyp Integer.

In dieser Klasse implementierst du bitte eine main-Methode.
Zum Programmstart erzeuge bitte ein Objekt und drei Referenzen, welche auf das Objekt verweisen.

Jede Referenz soll per Punktnotation auf jeweils eine Variable zugreifen und deren Wert festlegen.
A = 2,
B = 16,
C = -32;

Zur Kontrolle – Lass dir die Werte der Instanzvariablen für „refEins“ als Bildschirmausgabe anzeigen.


Um diese Java Übung zu lösen, müssen wir den Unterschied zwischen dem Objekt und der Variable klären

Mit Variable meine ich nicht die Instanzvariable.
Ich meine die Referenzvariable.

Der Code um ein Java Objekt anzulegen, würde so aussehen:


public class ReferenzTest {
int a;
int b;
int c;
 
public static void main(String[] args) {
ReferenzTest refEIns = new ReferenzTest(); // Anweisung um ein neues Java Objekt anzulegen
}
}

Im Schritt-für-Schritt-Modus bedeutet diese Anweisung:

  • ReferenzTest – Name des Datentyps, welcher für die Referenzvariable reserviert wird
  • refEins- Name der Referenzvariablen. Diese Referenzvariable stellt einen Zeiger bzw. einen Verweis auf das Objekt dar.
  • Gleichheitszeichen- Zuweisung der Variablen
  • Keywort new- Signalisiert, dass ein neues Objekt erstellt werden soll
  • ReferenzTest ()- genau dieser Konstruktor soll verwendet werden, um das Objekt zu erstellen. Da in dieser Klasse kein eindeutiger Konstruktor angelegt wurde, verwendet das Java Programm den Default-Konstruktor, welcher jeder Klasse automatisch zur Verfügung steht.

Dies bedeutet, dass alles was links vom Gleichheitszeichen steht, etwas mit der Referenzvariable zu tun hat.
Und alles was rechts steht, hat etwas mit der Objekterstellung zu tun.

Also dann lass uns weitere Referenzvariablen für das Java Objekt anlegen.


public class ReferenzTest {
int a;
int b;
int c;
 
public static void main(String[] args) {
ReferenzTest refEins = new ReferenzTest(); //Java Objekt anlegen
ReferenzTest refZwei = refEins; //zweiter Verweis
ReferenzTest refDrei = refEins; //dritter Verweis
}
}

Die Referenzvariablen „refZwei“ und „refDrei“ erhalten den selben Verweis, welcher auch in „refEins“ gespeichert wurde.

Jetzt kann die Wertzuweisung der Instanzvariablen geschehen.


public class ReferenzTest {
int a;
int b;
int c;
 
public static void main(String[] args) {
ReferenzTest refEins = new ReferenzTest(); //Java Objekt anlegen
ReferenzTest refZwei = refEins; //zweiter Verweis
ReferenzTest refDrei = refEins; //dritter Verweis
 
refEins.a=2; //Zuweisung 
refZwei.b=16; 
refDrei.c=-32;
 
System.out.println(refEins.a+" "+refEins.b+" "+refEins.c);
}
}

Du siehst alle drei Referenzvariablen verweisen auf das gleiche Objekt.


Ähnliche Beiträge

So nutzt du getter und setter Methoden bei der Java Programmierung

Java Keyword private

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. Stell dir vor. Du hast ein Programm zur Lagerverwaltung geschrieben. Dieses Programm dient Möbelhäusern dazu, ihre Bestände zu verwalten. Und das Programm erwartet vom Nutzer gewisse Eingaben zu […]

Java Übung 31: Speichere deine Würfe im Array

Java Übung Array Würfelspiel

In dieser Java Übung soll ein Würfelspiel simuliert werden. Lege eine Klasse namens, Würfelspiel an. Diese Klasse enthält eine statische Methode, namens würfeln(). Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“. Diese Variable/Parameter repräsentiert die Anzahl der Würfe. Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll die Methode Zufallszahlen zwischen 1 […]

Java Objekte leben auf dem Heap

Java-Objekte-Heap

Java hat eine interne Speicherverwaltung. Eigentlich ist es nicht nur eine. Es sind mehrere.   Uns interessieren nur zwei. Methoden und lokale Variablen werden auf dem Stack verwaltet. Und die Speicherverwaltung für Java Objekte und den Instanzvariablen findet auf dem Heap statt.   Ja wieso braucht Java eigentlich zwei Speichersysteme?   Es ist ganz einfach. […]

So richtest du einen Schreibschutz für deine Java Variablen ein

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 nur deine Java Variablen […]

8 Java Datentypen, die du kennen solltest

Java Datentypen

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 Referenztypen. Und diese Referenztypen sind […]

Beim Aufruf werden Java Methoden auf dem Stack gestapelt

Java Methoden gestapelt

Java Methoden werden beim Aufruf gestapelt. Und jedes Element auf dem Stapel nimmt Speicherplatz weg. Und manchmal ist es so, dass der Stapel richtig hoch wird und dann…. Ja was passiert eigentlich dann? Betrachten wir einmal ein Computerspiel. Irgendeines. In diesem Computerspiel gibt es Vögel, welche abgeschossen werden sollen. Was bedeutet das denn genau? Beim […]

Sicherer Schleifendurchlauf mit Do while Schleife

Java Do While Schleife

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 Schleife. Mit einem kleinen aber […]

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.

So nutzt du Methoden aus der Java String Klasse

Java Strings Methoden

In einen der letzten Beiträge haben wir darüber gesprochen, dass Java Strings – Objekte sind. Dass Strings in allen Programmen äußerst häufig vorkommen Und dass sich deshalb Referenzvariablen String-Objekte im String Pool teilen. Das Konzept hinter dem String-Pool ist die Teilung der Ressourcen. Und das bedeutet: Weniger Objekte – mehr Speicher Mehr Speicher – bessere […]