Der Reflexionsmechanismus kann die Konstruktormethode über die Methode Constructor.newInstance() aufrufen und dabei die eigentliche Parameterliste übergeben, um das Objekt zu erstellen. Diese Methode erfordert, dass der Konstruktortyp und die Reihenfolge übereinstimmen und der Konstruktor öffentlich sein oder über entsprechende Zugriffsberechtigungen verfügen muss.
Der Java-Reflexionsmechanismus ruft die Konstruktormethode auf.
Der Java-Reflexionsmechanismus bietet dynamischen Zugriff auf Klassen und ermöglicht die Überprüfung und Änderung von Klassen und ihren Mitgliedern zur Laufzeit. Durch Reflexion können wir Klassenkonstruktormethoden aufrufen, um neue Objekte zu erstellen.
Syntax:
Um den Konstruktor mithilfe von Reflektion aufzurufen, können Sie die Methode Constructor.newInstance()
verwenden. Die Syntax lautet wie folgt: Constructor.newInstance()
方法。其语法如下:
Object newInstance(Object... args) throws InstantiationException, IllegalAccessException, InvocationTargetException
其中:
args
:用于构造对象的实际参数列表实战案例:
我们创建一个名为 Person
的类,并提供一个带参数的构造方法:
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } }
现在,我们可以使用反射调用此构造方法:
// 创建 Class 对象 Class<?> personClass = Class.forName("Person"); // 获取带有两个参数的构造方法 Constructor<?> constructor = personClass.getConstructor(String.class, int.class); // 调用构造方法创建对象 Object person = constructor.newInstance("John", 30);
使用反射调用的对象可以像普通对象一样访问:
System.out.println(((Person) person).getName()); // 输出: John System.out.println(((Person) person).getAge()); // 输出: 30
注意事项:
newInstance()
会将该异常包装在一个 InvocationTargetException
rrreeeargs
: die tatsächliche Parameterliste, die zum Erstellen des Objekts verwendet wird 🎜🎜🎜🎜Eigentlicher Fall: 🎜🎜🎜Wir erstellen ein Datei namens Person
Klasse und stellt einen Konstruktor mit Parametern bereit: 🎜rrreee🎜Jetzt können wir diesen Konstruktor mithilfe von Reflektion aufrufen: 🎜rrreee🎜Auf Objekte, die mithilfe von Reflektion aufgerufen werden, kann wie auf normale Objekte zugegriffen werden: 🎜rrreee🎜 🎜Hinweis : 🎜🎜newInstance()
die Ausnahme in eine InvocationTargetException
und löst sie aus. 🎜🎜Das obige ist der detaillierte Inhalt vonWie ruft der Java-Reflexionsmechanismus den Konstruktor auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!