Heim > Java > javaLernprogramm > Wie kann ich eine Klasse in Java mithilfe ihres Namens und ihrer Konstruktorparameter dynamisch instanziieren?

Wie kann ich eine Klasse in Java mithilfe ihres Namens und ihrer Konstruktorparameter dynamisch instanziieren?

Patricia Arquette
Freigeben: 2024-12-25 03:38:24
Original
796 Leute haben es durchsucht

How Can I Dynamically Instantiate a Class in Java Using Its Name and Constructor Parameters?

Dynamisches Erstellen einer Instanz mithilfe von Klassennamen und Konstruktorparametern

In bestimmten Szenarien kann es erforderlich sein, eine Instanz einer Klasse zu erstellen erhält dynamisch seinen Klassennamen und stellt seinem Konstruktor Parameter zur Verfügung. Dies kann mit dem folgenden Ansatz erreicht werden:

  1. Erhalten Sie das Klassenobjekt für den angegebenen Klassennamen:

    • Verwenden Sie die Klasse. forName()-Methode zum Laden der Klasse basierend auf ihrem vollständig qualifizierten Namen, einschließlich Namespace.
  2. Rufen Sie den Konstruktor der Klasse ab:

    • Rufen Sie getConstructor() für das Klassenobjekt auf, um den zu erhalten Konstruktor, der der gewünschten Anzahl und den gewünschten Typen entspricht Parameter.
  3. Erstellen Sie eine Instanz der Klasse mit dem Konstruktor:

    • Rufen Sie newInstance() im Konstruktor auf, Übergabe der angegebenen Parameter als Array von Objekte.

Hier ist ein Beispiel, um diesen Prozess zu veranschaulichen:

Class<?> clazz = Class.forName("mypackage.MyClass");
Constructor<?> ctor = clazz.getConstructor(String.class);
Object object = ctor.newInstance(new Object[] { "MyAttributeValue" });
Nach dem Login kopieren

Beachten Sie, dass dieser Ansatz die Bereitstellung eines vollständig qualifizierten Klassennamens erfordert, einschließlich aller verschachtelten Durch Dollarzeichen ($) getrennte Klassen. Um beispielsweise eine Instanz einer verschachtelten Klasse zu erstellen, würden Sie einen Klassennamen wie „foo.Outer$Nested“ verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Klasse in Java mithilfe ihres Namens und ihrer Konstruktorparameter dynamisch instanziieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage