Maison >Java >javaDidacticiel >Comment le mécanisme de réflexion Java appelle-t-il le constructeur ?
Le mécanisme de réflexion peut appeler la méthode constructeur via la méthode Constructor.newInstance(), en transmettant la liste de paramètres réelle pour créer l'objet. Cette méthode nécessite que le type et l'ordre du constructeur correspondent, et que le constructeur doit être public ou disposer des autorisations d'accès appropriées.
Le mécanisme de réflexion Java appelle la méthode constructeur
Le mécanisme de réflexion Java fournit un accès dynamique aux classes, permettant l'inspection et la modification des classes et de leurs membres au moment de l'exécution. Grâce à la réflexion, nous pouvons appeler des méthodes de constructeur de classe pour créer de nouveaux objets.
Syntaxe :
Pour appeler le constructeur par réflexion, vous pouvez utiliser la méthode Constructor.newInstance()
. La syntaxe est la suivante : 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
: la liste de paramètres réelle utilisée pour construire l'objet 🎜🎜🎜🎜Cas réel : 🎜🎜🎜Nous créons un fichier nommé classe Person
et fournit un constructeur avec des paramètres : 🎜rrreee🎜Maintenant, nous pouvons appeler ce constructeur en utilisant la réflexion : 🎜rrreee🎜Les objets appelés en utilisant la réflexion sont accessibles comme des objets normaux : 🎜rrreee🎜 🎜Note : 🎜🎜newInstance()
encapsulera l'exception dans une InvocationTargetException
et la lancera. 🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!