Ich brauche eine Klasse in meinem Klassenpfad nach dem Kompilieren meines Programms.Reflection und ClassLoader in Java
Dann habe ich den Classloader mit Java Reflexion, wie dem folgenden Code:
Class NewUnit;
Constructor constructor;
ClassLoader myClassLoader = ClassLoader.getSystemClassLoader();
// Define a class to be loaded.
String classNameToBeLoaded = "monarchs_project.Axe";
NewUnit = myClassLoader.loadClass(classNameToBeLoaded);
constructor = NewUnit.getConstructor(int.class, int.class, int.class, int.class);
NewUnit newUnit = (NewUnit) constructor.newInstance(1, 1, 1, 1);
Die Parameter der Ax-Klasse sind int.
Aber es funktioniert nicht. Die Methode getConstructor() funktioniert nicht. Danke.
Danke! Jetzt funktioniert es! – user3294746
Der Konstruktor arbeitet jetzt, aber ich kann keine Instanz der Klasse im newUnit-Objekt erstellen. IDE sagt: "Create NewUnit-Klasse im Projekt". Ich löse dies mit diesem: Objekt newUnit = constructor.newInstance (0, 0, 0, 0); – user3294746