Hallo,
wir haben letztens in der Schule mal kurz Lineare Datenstrukturen angesprochen und ich habe das mal zu Hause weiter programmiert
Nun vewirrt mich allerdings mein Code etwas da ich denke das durch die ganzen neuen Objekterzeugung Redundanz entsteht.
Alles anzeigen
Ich habe hier eine Methode die im else Bereich eine Objekt vom Typ Listenelement erzeugt. Das Objekt PrevElement bekommt ein Objekt von der Methode searchPrevElement zurück gewiesen (also mittels return).
Das selbe ist auch bei nextElement.
Alles anzeigen
Hier ist die Methode searchPrevElement. this.Kopf ist auch ein Objekt was direkt am Anfang der Klasse erzeugt wird und am Ende wird tempElement zurück gegeben.
Meine Frage ist nun, ist das was zurück gegeben wird oder erhalten wird jeweils eine Kopie von dem Objekt oder eine Referenz? Weil wenn es eine Kopie ist dann würde ich meinen das ich ja sehr viele Objekte dann im Speicher habe welche aber nicht angesprochen oder benutzt werden.
In Google finde ich halt viele Meinungen das Call by Reference bei Java nicht exisitert. Mein Lehrer hat mir aber gesagt das es über Call by Reference verläuft.
wir haben letztens in der Schule mal kurz Lineare Datenstrukturen angesprochen und ich habe das mal zu Hause weiter programmiert
Nun vewirrt mich allerdings mein Code etwas da ich denke das durch die ganzen neuen Objekterzeugung Redundanz entsteht.
Quellcode
- public void addListenElement(String Bezeichnung, int Wert, int Position)
- {
- if(this.Kopf == null)
- {
- this.addListenElement(Bezeichnung, Wert);
- }
- else
- {
- Listenelement PrevElement = this.searchPrevElement(Position);
- Listenelement nextElement = this.searchElement(Position);
- PrevElement.setNextElement(new Listenelement(Bezeichnung, Wert));
- PrevElement.getNextElement().setNextElement(nextElement);
- }
- }
Ich habe hier eine Methode die im else Bereich eine Objekt vom Typ Listenelement erzeugt. Das Objekt PrevElement bekommt ein Objekt von der Methode searchPrevElement zurück gewiesen (also mittels return).
Das selbe ist auch bei nextElement.
Quellcode
Hier ist die Methode searchPrevElement. this.Kopf ist auch ein Objekt was direkt am Anfang der Klasse erzeugt wird und am Ende wird tempElement zurück gegeben.
Meine Frage ist nun, ist das was zurück gegeben wird oder erhalten wird jeweils eine Kopie von dem Objekt oder eine Referenz? Weil wenn es eine Kopie ist dann würde ich meinen das ich ja sehr viele Objekte dann im Speicher habe welche aber nicht angesprochen oder benutzt werden.
In Google finde ich halt viele Meinungen das Call by Reference bei Java nicht exisitert. Mein Lehrer hat mir aber gesagt das es über Call by Reference verläuft.