Schnittstelle in der Klasse
Q1. Kann ich eine Schnittstelle in einer Klasse in java?
Q2. Kann ich eine Klasse in ein interface?
Wenn ja, dann in welchen Situationen sollte solche Klassen/interfaces verwendet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Q1. Ja Q2. Ja.
Innerhalb Ihrer Klasse müssen Sie eventuell mehrere Implementierungen einer Schnittstelle, die nur für diese spezielle Klasse. In diesem Fall machen Sie eine innere Schnittstelle, sondern als eine öffentliche /package-private
In Ihrem interface können Sie definieren einige Daten Halter-Klassen, die verwendet werden von Implementierungen und clients.
Ein Beispiel für letzteres:
new EmailService.EmailDetails()
static void sendLater(EmailService details, Date d){...}
so dasses.EmailDetails.sendLater(this,dateLater);
Ich habe vor die gemeinsame komplexe Operationen für alle Klassen implementieren ein interface, dass natürlich die Operationen der Schnittstelle.
Bis Java 8 nicht aus...
Sehen http://datumedge.blogspot.hu/2012/06/java-8-lambdas.html (Default-Methoden)
Eine Abhilfe für dieses ist:
Dann können Sie ganz einfach aufrufen, gemeinsamer Funktionalität (nach dem Import I. U)
Kann weiter verfeinert werden, mit etwas mehr typische Codierung:
Aufruf dann
Einer weiteren würzigen tricks
Der Grund für dieses ist, um die Vorgänge in einem einzelnen Modul statt utilities Module hängen herum, so dass Ausziehbarer das Schlimmste, vervielfältigt Umsetzung.