2016-07-11 24 views
-1

Es ist eine sehr einfache Sache, aber der Punkt ist, dass ich es nicht weiß. Meine Frage ist, dass eine Klasse implizit eine Schnittstelle implementieren wird, die durch die von der Klasse implementierte Schnittstelle erweitert wird, explizit. Zum Beispiel:Implementiert Implementierung implementieren, was es Schnittstelle erweitert?

interface Foo extends Bar { 
} 

class FooImpl implements Foo { 
} 

Nun wird FooImpl implementieren Bar automatisch?

+2

Ja. Das bedeutet "erweitern". –

+0

Schnell! Danke dafür –

Antwort

4

Wird nun FooImplBar automatisch implementiert?

Nicht automatisch, müssen Sie die Implementierung zur Verfügung zu stellen (es sei denn Bar vollständig aus Standardmethoden besteht), aber ja, aus einer Art Perspektive FooImplist einBar weil Fooist einBar und FooImplist einFoo.

+0

Compiler zwingen ihn, sie trotzdem zu implementieren :) –

+0

@ sᴜʀᴇsʜᴀᴛᴛᴀ: Nun ja, wieder vorausgesetzt, es ist nicht eine Reihe von Standardmethoden. Aber ich dachte, es wäre nützlich, es rauszurufen. –

+0

Kurz gesagt, wenn "Foo" 'Serializable' erweitert, dann ist' FooImpl' auch 'Serializable'? –