Je développe une application qui utilise l'interface Java comme plus qu'une interface Java, c'est-à-dire, Pendant l'exécution, l'utilisateur devrait pouvoir lister les méthodes disponibles dans la classe d'interface, qui peut être quelque chose:Java Interface Reflection Alternatives
private Class<? extends BaseInterface> interfaceClass.
Lors de l'exécution, je voudrais enum les méthodes disponibles, puis en fonction de ce que l'utilisateur choisit, invoquer une méthode.
Ma question est: Est-ce que l'architecture Java "Interface" fournit une méthode pour peek et invoquer des méthodes sans utiliser l'API Reflection?
Je souhaite qu'il y ait quelque chose comme ça (peut-être il y a):
private Interface<? extends BaseInterface> interfaceAPI;
public void someMethod(){
interfaceAPI.listMethods();
interfaceAPI.getAnnotations();
}
Peut-être il y a une façon d'utiliser type Génériques pour accomplir ce que je veux?
Merci,
Phaedrus
Il existe d'autres moyens, mais ils sont bien pires à mon humble avis. Vous n'avez pas dit pourquoi vous ne voulez pas utiliser la réflexion. Peut-être que vos préoccupations peuvent être traitées. –
vous pouvez générer du code à la volée (et le charger via un chargeur de classe personnalisé) ... mais c'est ce que la réflexion fait réellement. – bestsss