Der Reflexionsmechanismus ermöglicht es dem Programm, Methoden zur Laufzeit aufzurufen. Die Schritte sind wie folgt: Holen Sie sich das Klassenobjekt und das Methodenobjekt. Rufen Sie die Methode auf und übergeben Sie die Objektinstanz und Parameter. Verwenden Sie Reflection, um die getName()-Methode der Employee-Klasse aufzurufen und „John Doe“ zurückzugeben.
Java-Reflexionsmechanismus-Aufrufmethode
Der Java-Reflexionsmechanismus ermöglicht es dem Programm, die Informationen und das Verhalten der Klasse zur Laufzeit abzurufen und zu ändern. Es wird häufig in Frameworks, Test- und Debugging-Tools verwendet.
Reflektion verwenden, um Methode aufzurufen
Sie können Reflektion verwenden, um Methode aufzurufen, indem Sie die folgenden Schritte ausführen:
Class.forName()
, um das zu erhalten Klassenobjekt der Klasse. Class.forName()
获取类的 Class 对象。getMethod()
或 getMethods()
获取方法的 Method 对象。invoke()
方法调用方法,传入对象实例和参数(如果有)。语法
Method method = Class.forName("ClassName").getMethod("methodName", parameterTypes); Object result = method.invoke(objectInstance, parameters);
其中:
ClassName
是要调用的类名。methodName
是要调用的方法名。parameterTypes
是方法参数类型的数组。objectInstance
是要调用方法的对象实例(如果方法是非静态方法)。parameters
是要传递给方法的参数数组。实战案例
假设有一个 Employee
类,其中有以下方法:
public class Employee { public String getName() { return "John Doe"; } }
现在,让我们使用反射机制调用 getName()
方法:
Class<?> employeeClass = Class.forName("Employee"); Method getNameMethod = employeeClass.getMethod("getName"); String name = (String) getNameMethod.invoke(new Employee()); System.out.println(name); // 输出:John Doe
在这个示例中,我们首先获取 Employee
类的 Class 对象。然后,我们获取 getName()
方法的 Method 对象。最后,我们创建一个 Employee
对象的实例并使用反射调用 getName()
getMethod()
oder getMethods()
, um das Methodenobjekt der Methode abzurufen. 🎜🎜Methode aufrufen: 🎜 Verwenden Sie die Methode invoke()
, um die Methode aufzurufen, und übergeben Sie dabei die Objektinstanz und Parameter (falls vorhanden). 🎜🎜Syntax🎜🎜rrreee🎜wobei: 🎜ClassName
der aufzurufende Klassenname ist. 🎜methodName
ist der Name der aufzurufenden Methode. 🎜parameterTypes
ist ein Array von Methodenparametertypen. 🎜objectInstance
ist die Objektinstanz, für die die Methode aufgerufen werden soll (wenn die Methode eine nicht statische Methode ist). 🎜parameters
ist das Array von Parametern, die an die Methode übergeben werden sollen. Employee
-Klasse mit der folgenden Methode: 🎜rrreee🎜Nun rufen wir getName() mithilfe des Reflexionsmechanismus auf
Methode: 🎜rrreee🎜In diesem Beispiel erhalten wir zuerst das Class-Objekt der Klasse Employee
. Dann erhalten wir das Methodenobjekt für die Methode getName()
. Schließlich erstellen wir eine Instanz des Employee
-Objekts und rufen die Methode getName()
mithilfe von Reflektion auf. 🎜Das obige ist der detaillierte Inhalt vonWie ruft der Java-Reflexionsmechanismus Methoden auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!