[JAVA] Über method.invoke

Ich hatte nicht die Möglichkeit, die Methode dynamisch aufzurufen und zu verwenden, aber ich war neugierig, sie im Quellcode zu sehen, also habe ich sie in die Praxis umgesetzt.

Ich habe eine Klasse zur Bestätigung erstellt und ausprobiert. Hier empfängt die Invoke-Klasse den Methodennamen der Getmethod-Klasse und ruft ihn dynamisch auf. Es scheint, dass wir verschiedene Dinge tun können, wenn wir mehr entwickeln, aber zuallererst besteht der Zweck darin, unsere Hände zu bewegen und sie in Erinnerung zu rufen.

class Getmethod {
	public void a(){
		System.out.println("Genannt");
	}
	public void b(String str){
		System.out.println(str + "Namens");
	}

	public void c(String str,String str2){
		System.out.println(str + "Wann" + str2 + "Namens");
	}
}
public class Invoke {
	public static void main(String[] args) throws InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {

	try {
		//Holen Sie sich Klasse
		Class<?> g = Class.forName("invoke.Getmethod");
		//Holen Sie sich eine Instanz
		Object myobj = g.newInstance();
		//Methode abrufen
		Method a = g.getMethod("a");
		Method b = g.getMethod("b",String.class);
		Method c = g.getMethod("c",String.class,String.class);
		//Ausführung der Methode
		a.invoke(myobj);
		b.invoke(myobj,"b");
		c.invoke(myobj,"c","d");
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
	}
}

Unten ist das Ausführungsergebnis.

Genannt
Genannt b
Genannt c und d

Verwendung Wenn Sie eine solche Verwendung haben, warten wir auf eine Bearbeitungsanforderung.

Recommended Posts

Über method.invoke
Über =
Über Kotlin
Über attr_accessor
Über Hinemos
Über die Vererbung
Über Docker
Über Schienen 6
Über den Frühling ③
Über Aufzählung
Über Polymorphismus
Über Optional
Über Hash
Über JitPack
Darüber ()
Über die Kapselung
Über JAVA_HOME
Über statische
Über Ausnahmen
Über den Umfang
[Maven] Über Maven
Über die Java-Schnittstelle
[Java] Informationen zu Java 12-Funktionen
Informationen zum Rails-Routing
Über zyklische Komplexität
Informationen zur Ausnahmebehandlung
Informationen zu AsyncTask-Generika
Über Ruby-Symbole
Informationen zur Array-Multiplikation
[Java] Über Arrays
Informationen zur Klassenvererbung.
Über Spring AOP
Über Ruby Hash
Über singuläre Methoden
Informationen zum Erstellen von Tools
Kauen Sie über API
[Über Double Hash]
Etwas über Java
Wo ist mit Java?
Über die Methode von HttpServlet ()
Informationen zu Java-Funktionen
Informationen zu SIGNING_REGION: NoSuchFieldError
Über die Methode
Über die Standardklasse