Dynamisch Objekte instanzieren
FraFu
- java
Hallo!
Ich hab in einem String einen Klassenname stehen zb:
"com.frafu.Article"
Jetzt möchte ich aufgrund dieses Strings ein Objekt dieser Klasse instanzieren.
Ich hab keinen Plan wie das funktionieren könnte.
Geht das mit dem ClassLoader oder ist der für andere Dinge vorgesehen?
Ich hab zb versucht:
String str="com.frafu.Article";
Class c=Object.class.getClassLoader().loadClass(str);
Object o=c.newInstance();
Hier bekomme ich bei loadClass(str) eine Nullpointer Exception.
mfg
frafu
Hallo Frafu.
Class c=Object.class.getClassLoader().loadClass(str);
Java-API: "returns: the class loader that loaded the class or interface represented by this object."
Das ist also nicht das was du willst.
Dynamisches Laden von Klassen macht man ganz einfach so:
Class c = class.forName("foo.bar.MyClass");
MyClass my = (MyClass)c.newInstance();
Servus
Hallo Frafu.
Dynamisches Laden von Klassen macht man ganz einfach so:
...
Danke!
mfg
frafu