Comment créer une instance de classe Java avec l'introspection ?
Définition de l'introspection par Wikipédia :
En programmation informatique, la réflexion est la capacité d'un programme à examiner, et éventuellement à modifier, ses structures internes de haut niveau (par exemple ses objets) lors de son exécution.
On appelle réflexivité le fait pour un langage de programmation de permettre l'écriture de tels programmes. Un tel langage de programmation est dit réflexif.
Voici un exemple de code Java qui permet de créer une instance d'une classe via l'introspection :
String uneChaine = (String)Class.forName("java.lang.String").newInstance(); // ou encore : MaClasse instanceDeMaClasse = (MaClasse)Class.forName("com.monpackage.MaClasse").newInstance();
Pour appeler une méthode d'une sans créer une instance de cette classe :
// Récupère la méthode maMethode Method maMethode = uneClasse.getClass().getMethod("maMethode", new Class[] { String.class }); // Invoque la méthode maMethode avec son argument maMethode.invoke(uneClasse, "Paramètre passé à la méthode");