Probleme mit den Intestines bei Vektor

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Probleme mit den Intestines bei Vektor
Hey,
Ich hab bei der Aufgabe Vektor überall außer in den Intestines grüne Haken
dort erhalte ich folgende Fehlermeldung:

Wenn ich meinen Code im EST hochlade bekomm ich einen grünen Haken wollte jetzt aber nochmal sicher gehen
MfG mx


Hi,

Das liegt daran, dass der Test Methoden aus Java 8 verwendet, du aber wahrscheinlich dein Eclipse auf Java 7 eingestellt hast.
Wenn die Aufgabe fertig geschrieben ist, kannst du ja kurz auf Java 8 umstellen und dann den Test ausführen, da du aber im EST nen grünen Haken siehst, sollte dann unter Java 8 auch der PublicTest fehlerfrei durchlaufen.

2 „Gefällt mir“

Vielen Dank für die Antwort
Ich hätt noch eine Frage über die Studon Einzelaufgabe
und zwar bei Stelle 7 wo ich die Methode c.weisezu(b) aufrufe habe ich gedacht dass mein b jetzt auf das Objekt von c zeigt, aber anscheinend passiert dass nicht?
Könnten sie kurz erklären was bei der Methode genau passiert mit b = this?

MfG mx


Hi,

Doch, b zeigt auf das Objekt von c, das passiert schon.
Wichtig bei dieser Stelle ist:
Die Semantik der Parameterübergabe in Java (Call-by-Value, heißt, der eigentlich benutzte Parameter stellt eine Kopie des übergebenene Parameters da).
Die Funktionsweise von Referenz-Zuweisungen. Ändert eine Referenzzuweisung etwas an den referenzierten Objekten?


Bei einer Referenzzuweisung wird ja nichts an dem Objekt geändert, sondern meine Variable zeigt ja dann erstmal nur auf das Objekt

Und wird bei Objekten nicht immer call by reference verwendet?

Jedoch wenn ich zum Vergleichen den Code in Eclipse mit meinen Schreibtischverlauf vergleiche,
ändere ich bei Stelle 7 die Referenz von meiner Klasse b auf c. Jedoch bei Eclipse ändern sich weder b noch c.


Nein, da du nicht die Objekte, sondern Referenzen als Parameter übergibst. Und der Parameter ist nicht die ursprünglich übergebene Referenz, sondern eine Kopie dieser Referenz, welche aber natürlich dann noch auf das gleiche Objekt zeigt.

Wenn du dir mal Gedanken machst, wie lange der Parameter b in der Methode lebt und wie viel er mit dem übergebenen Parameter c zu tun hat, solltest du darauf kommen, welches die richtige Lösung ist.