übersetzt 29.05.03; überarbeitet 03.02.04, 18.01.05, 11.07.06, 19.10.06, 17.01.10, 13.05.19, 07.12.20, 21.06.22, 27.02.23, 07.02.24

Quiz über Objektparameter

Das ist ein Übungsquiz. Das Ergebnis wird nicht gespeichert.

Hinweise: Entscheidet Euch bei jeder Frage für die beste Antwort. Klickt dann auf das entsprechende Optionskästchen, um diese Antwort auszuwählen. Ihr könnt Eure Antwort jederzeit ändern. Sobald das Quiz bewertet wird, erscheint der Buchstabe der richtigen Antwort in der Textbox unterhalb der Frage.


1. Was ist ein aktueller Parameter?

a.    Der Bezeichner, der in einer Methode an Stelle des Werts verwendet wird, der an diese Methode vom Aufrufer übergeben wurde.
b.    Der Wert, der an eine Methode vom Aufrufer übergeben wurde.
c.    Eine Variable, die verwendet wird, um eine Zählschleife zu kontrollieren.
d.    Der Wert, der von einer Methode zurückgegeben wird.

2. Welcher Typ von Parameterübergabe wird in Java verwendet?

a.    Call-By-Value.
b.    Call-By-Object.
c.    Call-By-Parameter.
d.    Call-By-Waiting.

3. Wird es irgendeine Auswirkung auf den Aufrufer haben, wenn eine Methode einem primitiven Parameter einen neuen Wert zuweist?

a.    Nein, da alle Methoden eine Kopie des Werts vom Aufrufer haben.
b.    Nein, da es der Methode nicht erlaubt ist den Wert irgendeines Parameters zu ändern.
c.    Ja, die Änderung wird Auswirkungen auf den entsprechenden Wert des Aufrufers haben.
d.    Ja, da die Methode und ihr Aufrufer denselben Speicherabschnitt teilen.

4. Hat es irgendeine Auswirkung auf den Aufrufer, wenn eine Methode einem Objektreferenz-Parameter eine Referenz auf ein neues Objekt zuweist?

Wem das nicht klar ist, sollte noch einmal das Beispiel 'Einen Referenz-Parameter ändern' sorgfältig studieren. (Der Link wird in einem neuem Tab geöfffnet.)

a.    Nein, da dies keine Objekte betrifft, die der Aufrufer referenzieren kann.
b.    Nein, da das keine legale Operation ist.
c.    Ja, da jetzt der Aufrufer das neue Objekt referenzieren kann.
d.    Ja, da das neue Objekt eines der Objekte des Aufrufers ersetzen wird.

5. Hat es irgendeine Auswirkung auf den Aufrufer, wenn eine Methode einer Objektvariablen, auf das sie durch einen Objektreferenz-Parameter zugreifen kann, einen neuen Wert zuweist?

Wem das nicht klar ist, sollte noch einmal das Beispiel 'Veränderbares MeinPunkt-Objekt' sorgfältig studieren. (Der Link wird in einem neuem Tab geöfffnet.)

a.    Nein, da sie nur eine Kopie des Objekts hat.
b.    Nein, da es nicht erlaubt ist das zu tun.
c.    Ja, das wird den Teil des Objekts ändern, den sowohl die Methode als auch der Aufrufer referenzieren.
d.    Ja, der Aufrufer wird jetzt ein neues Objekt bekommen.

6. Wie kann eine Methode an den Aufrufer einen primitiven Wert zurückliefern?

a.    Sie kann den Wert einem ihrer Parameter zuweisen.
b.    Sie kann den Wert an den Aufrufer zurückgeben, indem sie die return-Anweisung verwendet.
c.    Eine Methode kann unter keinen Umständen mit dem Aufrufer kommunizieren.
d.    Sie kann ihren Aufrufer mit dem korrekten Wert aufrufen.

7. Wenn eine Methode eine Referenz auf ein unveränderbares Objekt (z.B. Stringobjekt) hat, kann dann die Methode eine Änderung an dem Objekt vornehmen?

a.    Nein, unveränderbare Objekte können von niemandem geändert werden, nachdem sie erzeugt wurden.
b.    Nein, nur der Erzeuger des unveränderbaren Objekts kann es ändern.
c.    Ja, wenn sie eine Referenz auf das unveränderbare Objekt hat, kann sie es ändern.
d.    Ja, aber sie muss, um das zu tun den speziellen "+" Operator verwenden.

8. Kann ein Programmierer eine Klasse entwerfen, deren Objekte unveränderbar sind?

a.    Nein, nur ein paar vordefinierte Java-Klassen wie String sind unveränderbar.
b.    Nein, alle vordefinierten Klassen sind unveränderbar und alle vom Programmierer definierten Klassen sind es nicht.
c.    Ja, indem alle Instanzvariablen der Klasse als private deklariert und keine Zugriffsmethoden geschrieben werden.
d.    Ja, indem alle Instanzvariablen und -methoden als private deklariert werden.

9. Wie viele Referenzen kann es auf ein einziges Objekt geben?

a.    Nur eine.
b.    Zwei. Eine vom Aufrufer und eine von der aufgerufenen Methode.
c.    Drei. Die ursprüngliche Referenz und je eine Referenz für den formalen und den aktuellen Parameter.
d.    Es kann eine beliebige Anzahl von Referenzen geben, die in einer beliebigen Anzahl von Variablen und Parametern gehalten werden (solange sie vom korrekten Typ sind).

10. Wir betrachten das folgende:

String nachricht = "Hello" ;
nachricht = nachricht + " World" ;
Was macht die zweite Anweisung?

a.    Sie fügt die Zeichen World dem Stringobjekt hinzu, das durch nachricht referenziert wird.
b.    Sie erzeugt ein neues Stringobjekt aus dem Originalobjekt, das durch nachricht referenziert wird, und aus einem weiteren Stringobjekt, das World enthält.
c.    Sie ändert das unveränderbare Objekt, das durch nachricht referenziert wird.
d.    Sie ist illegal, da sie versucht ein unveränderbares Objekt zu ändern.

Richtige Antworten:       in Prozent:       Bewertung:   


Inhalt (Solltet Ihr gerade von einer anderen Seite hierher zurückgekommen sein oder diese Seite neu geladen haben kann es sein, dass Ihr erneut auf alle Antworten klicken müsst, damit das Bewertungsprogramm korrekt arbeitet.)

Um die alten Antworten zu löschen, haltet die Strg-Taste gedrückt und ladet dann die Seite neu (Firefox). Bei anderen Browsern funktioniert das in Verbindung mit der Umschalt- bzw. Strg+Umschalt-Taste.