übersetzt 10.06.03; überarbeitet 15.12.03, 21.06.04, 09.10.06, 06.12.10, 16.11.20, 25.04.22; Deutsche Übersetzung Heinrich Gailer

Quiz über Objektreferenzen

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. Wir betrachten die folgenden Deklarationen:

int flaeche;
String name;
Welche der folgenden Aussagen ist wahr?

a.    flaeche ist eine primitive Variable und name ist eine Referenzvariable.
b.    flaeche ist eine Referenzvariable und name ist eine primitive Variable.
c.    Beide sind primitive Variablen.
d.    Beide sind Referenzvariablen.

2. Wir betrachten die folgenden Codezeilen:

int flaeche;
String name;
Wie viele Objekte wurden erzeugt?

a.    Keins — es gibt eine Objektreferenzvariable, aber noch kein Objekt.
b.    Eins — es gibt eine Objektreferenzvariable, also muss es ein Objekt geben.
c.    Zwei — eins für jede Variable.
d.    Zwei — eins für jeden Typ.

3. Wir betrachten die folgenden Codezeilen:

String strA;
String strB = new String("Kekse");
Wie viele Objekte wurden erzeugt?

a.    keins
b.    eins
c.    zwei
d.    drei

4. Was wird durch den folgenden Codeteil auf den Bildschirm ausgegeben:

String strA;
String strB = new String("Kekse");

System.out.print  ( strB );
strA = new String(" Schoko");
System.out.println( strA );

a.    Kekse
b.    Schoko
c.    Kekse Schoko
d.    Schoko Kekse

5. Was wird durch den folgenden Codeteil auf den Bildschirm ausgegeben:

String strA = new String("Geroestete ");
String strB = new String("Kastanien ");

strA = strB;
System.out.print  ( strA );
System.out.println( strB );

a.    Geroestete Kastanien
b.    Kastanien Geroestete
c.    Geroestete Geroestete
d.    Kastanien Kastanien

6. Was wird durch den folgenden Codeteil auf den Bildschirm ausgegeben:

String strA = new String("Geroestete ");
String strB = new String("Kastanien ");

strA = strB;
if ( strA == strB )
  System.out.println("Zwei Kopien von einer Referenz.");
else
  System.out.println("Zwei verschiedene Referenzen.");

a.    Zwei Kopien von einer Referenz.
b.    Zwei verschiedene Referenzen.
c.    Zwei Kopien von einer Referenz.
           Zwei verschiedene Referenzen.
d.    Geroestete Kastanien Referenzen.

7. Wir betrachten den folgenden Codeteil:

String strA = new String("Geroestete ");
String strB = new String("Kastanien ");

strA = strB;
Wie viele Objekte wurden erzeugt? Nachdem die letzte Anweisung ausgeführt wurde, wie viele Objekte sind jetzt erreichbar (ohne den Datenausschuss mitzuzählen)?

a.    erzeugt: 0   jetzt erreichbar: 0
b.    erzeugt: 2   jetzt erreichbar: 1
c.    erzeugt: 1   jetzt erreichbar: 1
d.    erzeugt: 2   jetzt erreichbar: 2

8. Wir betrachten den folgenden Codeteil:

String strA = new String("Geroestete ");
strA        = new String("Getoastete ");
strA        = new String("Gegrillte ");
strA        = new String("Gebackene ");
strA        = new String("Bohnen ");

Wie viele Objekte (insgesamt) wurden erzeugt? Nachdem die letzte Anweisung ausgeführt wurde, wie viele Objekte sind jetzt erreichbar (ohne den Datenausschuss mitzuzählen)?

a.    Dieser Codeteil ist nicht korrekt.
b.    erzeugt: 5   jetzt erreichbar: 5
c.    erzeugt: 1   jetzt erreichbar: 1
d.    erzeugt: 5   jetzt erreichbar: 1

9. Wir betrachten den folgenden Codeteil:

String strA = new String("Geroestete ");
String strB = new String("Getoastete ");
String strC = new String("Gegrillte ");
String strD = new String("Gebackene ");
String strE = new String("Bohnen ");
Wie viele Objekte (insgesamt) wurden erzeugt? Nachdem die letzte Anweisung ausgeführt wurde, wie viele Objekte sind jetzt erreichbar (ohne den Datenausschuss mitzuzählen)?

a.    Dieser Codeteil ist nicht korrekt.
b.    erzeugt: 5   jetzt erreichbar: 5
c.    erzeugt: 1   jetzt erreichbar: 1
d.    erzeugt: 5   jetzt erreichbar: 1

10. Wir betrachten den folgenden Codeteil:

String strA = new String("Geroestete ");
String strB = strA;
String strC = strA;
String strD = strA;
String strE = strA;
Wie viele Objekte (insgesamt) wurden erzeugt? Nachdem die letzte Anweisung ausgeführt wurde, wie viele Objekte sind jetzt erreichbar (ohne den Datenausschuss mitzuzählen)?

a.    Dieser Codeteil ist nicht korrekt.
b.    erzeugt: 5   jetzt erreichbar: 5
c.    erzeugt: 1   jetzt erreichbar: 1
d.    erzeugt: 5   jetzt erreichbar: 1

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. Bei manchen Browsern funktioniert das nur in Verbindung mit der Umschalt- bzw. Strg+Umschalt-Taste. In seltenen Fällen muss die Seite verlassen und erneut aufgerufen werden.