Interfaces

Abstrakte Methode

Frage:

1) Wer erzwingt eigentlich, dass man in Unterklassen z.B. Methode getPreisInEuro() überschreibt? 

2) Unterklassen erben die abstrakte Methode, Daher: Compilerfehler, wenn keine Implementierung vorhanden - es sei denn?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

API

Frage:

 Wofür steht API?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Abstract und konkret mischen

Frage:

 Können konkrete Methoden abstrakte Methoden verwenden?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Implements

Frage:

1) Von einem Interface wird nicht geerbt, sondern

2) Ist ein Interface eine Klasse?

3) Kann eine Klasse mehrer Interfaces implimentiern?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Abstrakte Klasse vs. Interface

Frage:

1) Was können auch Abstrakte Klassen enthalten?

2) kann ein Interface über Variablen verfügen? 

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

instanceof

Frage:

Semantik: true wenn <objektreferenz> eine Instanz/Implementierung
von <Klasse/Interface> 

Syntax?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

abstrakte Unterklasse soll konkret sein...

Frage:

Was ist wenn die Unterklasse nicht abstrakt, sondern konkret sein soll? 

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Reihenfolge implements und extends

Frage:

Was ist die Richtige reihenfolge?

1) oder 2)

// 1)
public class ICE extends Zug implements MitBordbistro {}

// 2)
public class ICE implements MitBordbistro extends Zug {}

 

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Fehlersuche

Frage:

Finde den Fehler:

public interface MitBordbistro {
    public int getAnzahlSpeiseplaetze() {}   
}

 

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.