Tillbaks här igen, försöker skapa ett object för alternativ till en meny men lyckas inte riktigt begripa hur man kan skicka in en metod och sedan lagra den. Har försökt följa detta utan framgång. http://stackoverflow.com/questions/8...-a-java-thread
Kod:
import java.lang.reflect.Method;
public class Option {
private final String label;
private final String className;
private final String methodName;
public Option(String label_, String className_, String methodName_) {
this.label = label_;
this.className = className_;
this.methodName = methodName_;
if (className_ == "" || methodName_ == "" ) {
this.hasMethod = false;
}
else {
this.hasMethod = true;
this.className = className_;
this.methodName = methodName_;
}
}
public void execute() throws ClassNotFoundException, InstantiationException, NoSuchMethodException, IllegalAccessException {
Class<?> c = Class.forName(this.className); // covert string classname to class
Object o = c.newInstance();
Method m = c.getClass().getMethod(this.methodName, Void.class);
m.invoke(o, void); // Denna del kompilerar inte ens
}
}
public class MenuTest {
public static void main(String[] args) {
// Skapa en option och på nått sätt skapa en ny metod i Option som är en kopia av someMethod
// invoka den skapade metoden via objektet option.
}
private void someMethod() {
System.out.println("I was succesfully sent!");
}