Ich habe eine Schnittstelle.
%Vor%Was passiert, wenn ich versuche, ein solches Array zu erstellen?
%Vor%Wie kann ich dieses Array implementieren?
Ja, das ist möglich. Sie müssen die Felder des Arrays mit Objekten vom Typ Module
instances[0] = new MyModule();
Und MyModule
ist eine Klasse, die die Modulschnittstelle implementiert. Alternativ könnten Sie anonyme innere Klassen verwenden:
Beantwortet das Ihre Frage?
Sie müssten das Array mit Instanzen einer Klasse (n) füllen, die diese Schnittstelle implementieren.
%Vor%Natürlich können Sie ein Array erstellen, dessen Typ eine Schnittstelle ist. Sie müssen nur Verweise auf konkrete Instanzen dieser Schnittstelle in das Array einfügen, entweder mit einem Namen oder anonym erstellt, bevor Sie die Elemente darin verwenden. Unten ist ein einfaches Beispiel, das den Hash-Code des Array-Objekts ausgibt. Wenn Sie versuchen, ein beliebiges Element zu verwenden, sagen Sie myArray [0] .method1 (), erhalten Sie eine NPE.
%Vor%