übersetzt 09.03.04; überarbeitet 24.02.05; © Copyright 2003 - 2005 Deutsche Übersetzung Heinrich Gailer

Quiz über Schnittstellen

Das ist ein Übungsquiz. Die Ergebnisse werden nirgendwo erfasst und haben keine Auswirkung auf Ihre Note. Die Fragen in diesem Quiz dürfen in keinem Quiz oder Test erscheinen, der für Ihre Benotung zählt.

Hinweise: Wählen Sie für jede Frage die beste Antwort und klicken Sie dann auf das entsprechende Optionskästchen. Sie können Ihre Antwort jederzeit ändern. Wenn das Quiz bewertet wird, erscheint die richtige Antwort in der Textbox nach jeder Frage.


1. Was ist eine Schnittstelle?

a.    Eine Schnittstelle ist eine Sammlung von Konstanten und Methodendeklarationen.
b.    Eine Schnittstelle ist eine Klasse, die ein Subklasse erweitern kann.
c.    Eine Schnittstelle ist eine Sammlung von GUI-Komponenten.
d.    Eine Schnittstelle ist eine Sammlung von öffentlichen Methoden einer Klasse.

Die korrekte Antwort ist:


2. Kann eine Schnittstelle jemals Methodenkörper enthalten?

a.    Nein.
b.    Ja.
c.    Manchmal.
d.    Immer.

Die korrekte Antwort ist:


3. Wenn eine Klasse eine Schnittstelle implementiert, was muss sie tun?

a.    Sie muss jede Konstante der Schnittstelle neu definieren.
b.    Sie muss jede Methode der Schnittstelle deklarieren und sie muss für jede Methode einen Methodenkörper bereitstellen.
c.    Sie muss eine Variable für jede Konstante in der Schnittstelle deklarieren.
d.    Sie muss für jede Methode der Schnittstelle eine private Methode enthalten.

Die korrekte Antwort ist:


4. Welche der folgenden Aussagen ist wahr?

a.    Eine Subklasse kann eine Superklasse erweitern oder eine Schnittstelle implementieren, aber sie kann nicht beides.
b.    Eine Subklasse kann genau eine Superklasse erweitern und kann genau eine Schnittstelle implementieren.
c.    Eine Subklasse kann genau eine Superklasse erweitern und kann 0 oder mehr Schnittstellen implementieren.
d.    Eine Subklasse kann 0 oder mehr Superklassen erweitern, und kann 0 oder mehr Schnittstellen implementieren.

Die korrekte Antwort ist:


5. Ist das folgende eine korrekte Möglichkeit eine Klassendefinition zu beginnen:

public class IrgendeineKlasse implements MeineSchnittstelle

a.    Nein — IrgendeineKlasse muss auch eine Basisklase erweitern.
b.    Nein — IrgendeineKlasse kann nicht public sein, wenn sie eine Schnittstelle implementiert.
c.    Ja — IrgendeineKlasse ist die Subklasse von MeineSchnittstelle
d.    Ja — IrgendeineKlasse ist automatisch eine Subklasse der Klasse Object.

Die korrekte Antwort ist:


6. Betrachten Sie die folgende Schnittstelle

interface Besteuerbar
{
  double steuersatz = 0.06;
  double berechneSteuer();
}

Ist die Schnittstelle korrekt?

a.    Nein — da sie eine Variable enthält und Schnittstellen keine Variablen enthalten können.
b.    Nein — da die Schnittstelle keine Methode enthalten kann, die einen Wert zurückgibt.
c.    Ja — steuersatz wird automatisch eine Konstante sein, da sie in einer Schnittstelle ist.
d.    Ja — der Methodenkörper wird automatisch ausgefüllt werden.

Die korrekte Antwort ist:


7. Kann der Name einer Schnittstelle als Typ einer Variablen verwendet werden, so wie hier:

public static void main( String[] args ) { IrgendeineSchnittstelle x; ... }

a.    Nein — eine Variable muss immer vom Typ Objektreferenz sein.
b.    Nein — eine Variable muss immer ein Objektreferenztyp oder ein primitiver Typ sein.
c.    Nein — eine Variable muss immer ein primitiver Typ sein.
d.    Ja — die Variable kann auf jedes beliebige Objekt verweisen, dessen Klasse die Schnittstelle implementiert.

Die korrekte Antwort ist:


8. Ist es OK wenn eine Klassendefinition zwei Schnittstellen implementiert, von denen jede die gleiche Definition der Konstanten PI hat?

a.    Nein — wenn eine Klasse mehrere Schnittstellen implementiert, darf jede Konstante nur einmal in einer Schnittstelle definiert sein.
b.    Nein — eine Klasse darf nicht mehr als eine Schnittstelle implementieren.
c.    Ja — da die Definitionen gleich sind, spielt es keine Rolle.
d.    Ja — die präzisere Definition der beiden wird die andere überschreiben.

Die korrekte Antwort ist:


9. Kann für eine Schnittstelle der Zugriffsmodifizierer private verwendet werden?

a.    Nein — da dann die Schnittstelle niemals verwendet werden könnte.
b.    Nein — da dann nur private Klassen die Schnittstelle verwenden könnten.
c.    Ja — das würde alle ihre Methoden und Konstanten privat machen.
d.    Ja — das würde bedeuten, dass nur Klassen in derselben Datei die Schnittstelle verwenden könnten.

Die korrekte Antwort ist:


10. Kann eine Schnittstelle eine andere Schnittstelle erweitern?

a.    Nein — nur Klassen können erweitert werden.
b.    Nein — Schnittstellen können kein Teil einer Hierarchie sein.
c.    Ja — da alle Schnittstellen automatisch Object erweitern.
d.    Ja.

Die korrekte Antwort ist:


Richtige Antworten:       in Prozent:       Bewertung:   

Inhaltsverzeichnis —— Zurück zum Inhaltsverzeichnis.