Maison >Java >javaDidacticiel >Comment puis-je instancier dynamiquement une classe en Java en utilisant son nom et ses paramètres de constructeur ?
Création dynamique d'une instance à l'aide du nom de classe et des paramètres du constructeur
Dans certains scénarios, vous pouvez rencontrer le besoin de créer une instance d'une classe donné dynamiquement son nom de classe et fournit des paramètres à son constructeur. Ceci peut être réalisé en utilisant l'approche suivante :
Obtenir l'objet Class pour le nom de classe donné :
Récupérez le constructeur de la classe :
Créez une instance de la classe à l'aide du constructeur :
Voici un exemple pour illustrer ce processus :
Class<?> clazz = Class.forName("mypackage.MyClass"); Constructor<?> ctor = clazz.getConstructor(String.class); Object object = ctor.newInstance(new Object[] { "MyAttributeValue" });
Notez que cette approche nécessite de fournir un nom de classe complet, y compris tout imbriqué classes séparées par le signe dollar ($). Par exemple, pour créer une instance d'une classe imbriquée, vous utiliserez un nom de classe tel que "foo.Outer$Nested".
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!