2016-03-20 2 views
-2

Was ist der Unterschied zwischen anonymen Klassen basierend auf der Schnittstelle und anonymen Klassen basierend auf "normalen" Klassen (keine Schnittstellen).Was der Unterschied zwischen anonymen Klassen basierend auf Schnittstelle und Klasse

+0

Warum fragst du (in dem Sinne: mir fällt hier kein besonderer Unterschied ein)? – GhostCat

+0

Mein Freund bereitet sich auf ein Vorstellungsgespräch vor und er hat ein paar Fragen (Probe). Und ich frage mich, ob es Unterschiede gibt. Wer weiß, vielleicht habe ich dieselbe Frage eines Tages =) – kurumkan

Antwort

2

Für Schnittstellen muss die anonyme Klasse alle Methoden implementieren. Für Klassen müssen Sie nicht, aber Sie können Methoden überschreiben. Wenn Sie keine Methoden überschreiben, können Sie auch einfach eine reguläre Instanz erstellen. Es ist genau so, als würde man eine Schnittstelle im ersten Fall implementieren und eine Klasse in der zweiten erweitern.

1

Derselbe Unterschied wie eine neue Klasse, die eine Schnittstelle implementiert (implements) und eine Basisklasse (extends) unterklassifiziert.

Die Tatsache, dass die neue Klasse anonym ist, macht keinen Unterschied, es ist nur eine weitere Klasse für die JVM.

Der Rest ist Compiler Zucker.

Verwandte Themen