Je n'ai pas eu l'occasion d'appeler et d'utiliser la méthode de manière dynamique, mais j'étais curieux de la voir dans le code source, alors je l'ai mise en pratique.
J'ai créé une classe pour confirmation et l'ai essayé. Ici, la classe Invoke reçoit le nom de méthode de la classe Getmethod et l'appelle dynamiquement. Il semble que nous pouvons faire diverses choses si nous en imaginons plus, mais avant tout, le but est de bouger nos mains et de leur faire se souvenir.
class Getmethod {
public void a(){
System.out.println("Appelé un");
}
public void b(String str){
System.out.println(str + "Appelé");
}
public void c(String str,String str2){
System.out.println(str + "Quand" + str2 + "Appelé");
}
}
public class Invoke {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
try {
//Obtenez la classe
Class<?> g = Class.forName("invoke.Getmethod");
//Obtenez une instance
Object myobj = g.newInstance();
//Get méthode
Method a = g.getMethod("a");
Method b = g.getMethod("b",String.class);
Method c = g.getMethod("c",String.class,String.class);
//Exécution de la méthode
a.invoke(myobj);
b.invoke(myobj,"b");
c.invoke(myobj,"c","d");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Voici le résultat de l'exécution.
Appelé un
Appelé b
Appelé c et d
Comment utiliser Si vous avez une telle utilisation, nous attendons une demande de modification.
Recommended Posts