Um den Konstruktor von thisThing
Sie eine Klasse definieren müssen aufrufen, die anInterface
zuerst implementiert:
class ClassForThisThing implements anInterface {
... // interface methods go here
}
Jetzt können Sie thisThing
instanziiert wie folgt:
thisThing theThing = new thisThing(ClassForThisThing.class);
Die Idee hinter solchen instantiations gibt normalerweise thisThing
eine Klasse, von der es Instanzen von anInterface
durch Reflexion erstellen konnte. Compiler stellt sicher, dass die Klasse, die Sie an den Konstruktor ist kompatibel mit anInterface
, um sicherzustellen, dass wirft ähnliche
anInterface memberInstance = (anInterface)member.newInstance();
würde immer zur Laufzeit erfolgreich zu sein.
ich Ihre Frage möglicherweise nicht verstehen, aber Sie brauchen nicht einfach neue thisThing() aufzurufen und Als Argument ein beliebiges Objekt übergeben, das einInterface implementiert? – facundop
Lernen Sie die Java-Coding-Standards: sollte ThisThing sein – duffymo
Sie übergeben es einfach eine Klasse, die die Schnittstelle implementiert ... – Li357