Ich arbeite gearde ein paar (ca. 100 Fragen) zu Java durch.
Die meisten konnte ich ohne Hilfe und google Lösen, aber bei denen komme ich nicht weiter.
Könnt ihr sie mir beantworten? Danke sehr.
Wie werden Objekte als Parameter von Methoden übergeben und welche Konsequenzen haben inhaltliche Änderungen?
Wie werden primitive Datentypen als Parameter von Methoden übergeben und welche Konsequenzen haben inhaltliche Änderungen?
Wie werden Objekte kopiert und welche Methode der Superklasse Object sollte man dazu überschreiben?
Welche Typen von Objekten können ArrayLists und Vectoren speichern?
Können in einem ArrayList verschiedene Typen von Objekten gespeichert werden?
Da es hier um Testfragen geht, geb ich mal keine Antworten…
Stichworte um weiter zu suchen: By reference? Oder by value?
Siehe oben.
Da könnte Dir dieser Artikel weiterhelfen. Ich hab ihn nur überflogen; wenn der nicht ganz so toll ist liefert er zumindest die richtigen Suchbegriffe: Object Cloning in Java
Die Frage ist eigentlich sehr unmisverständlich formuliert. Was verstehst Du nicht?
Call by value
Der Parameter einer Methode entspricht eriner lokalen Variable, die bei Aufruf mit dem übergebenen Wert initialisiert wird (Parameter-Kopie). Ändert eine Methode den Parameter, so betrifft dies nur ihre lokale Kopie, nicht die übergebene Variable. In Java werden alle primitiven Datentypen per Call by value übergeben.
Call by reference
Paramter werden als Verweis auf eine Variable übergeben. Ändert eine Methode den Parameter, so ist auch die übergebene Variable geändert. In Java werden Objekte als Zeiger übergeben, so dass Änderungen immer global gelten.
Frage 3
Dadurch, dass clone()
Die Voraussetzung für das Kopieren mit clone() ist, dass die betreffende Klasse das Interface Cloneable implementier
Frage 4 und 5
Eine Array-List kann alle Objekt-Typen speichern
Zu Frage 1: In Java werden sowohl Objekt-Referenzen als auch primitive Typen als Wert (by value) übergeben. Man kann zwar den Inhalt eines übergeben Objektes verändern, man kann es aber nicht so neu zuweisen, dass sich beim Aufrufenden die Referenz verändert (das wäre dann by reference).
Zu Frage 4: Keine Ahnung, ob das vom Fragesteller erwartet wird. Man könnte umformulieren: Sowohl ArrayList-Instanzen als auch Vector-Instanzen können jede beliebige Objekt-Referenz aufnehmen; inklusive null-Referenz.