Klasse aus String erstellen!

vrcat

Mitglied
Hallo zusammen,

ich wollte mal fragen ob es möglich ist anhand des Objektnamens also z. B. String klasse = „Rectangle()“ eine Objekt von der Instance Rectangle zu erzeugen. Oder muss der Sting anders aussehen oder gibt es die Möglichkeit gar nicht anhand eines Strings eine String abhängige Klasse zu erzeugen?
Schon mal vielen Dank für eure Hilfe.
 
Sehr verwirrend,

also ich versuche es mal:

Nein du kannst anhand eines einfachen strings keine instanz einer klasse erstellen, sprich objekt.

Wenn du dies tun willst musst du folgendes machen:

Class clazz = Class.forName("ThirdPartyObject", true, cl);
Class stringClass = Class.forName(
"java.lang.String");
Class[] argTypes = { stringClass, stringClass };
//es wird ein parameterloser konstruktor verwendet
Object thirdParty = clazz.getInstance();

um die methoden dieser klasse auszuführen kannst du dann folgendes machen:
(da du die methoden ja nicht bei erstellung deines codes weisst)

Method method = clazz.getMethod(
"thirdPartyMethod", argTypes);
String[] args = { arg1, arg2 };
// und jetzt ausführen mit den argumenten, welche als parameter übergeben werden.

method.invoke(thirdParty, args);


Sodelle,

ich denke das dürfte dir weiter helfen. ;)


Gruss,

Torsten
 
Such im Internet einfach nach Reflection oder besser Reflection API im Zusammenhang mit JAVA
 
Danke torsch2711 das wars was ich gesucht habe funktioniert auch gleich auf anhieb super erklärt. Nochmal Danke
 
Zurück