Pass a parameter to the constructor and call a method dynamically in Java
Description
The following code shows how to pass a parameter to the constructor and call a method dynamically.
Example
// w w w . j ava2s .co m
public class Main {
public static void main(String args[]) throws Exception{
String name = "java.lang.String";
String methodName = "toLowerCase";
Class cl = Class.forName(name);
java.lang.reflect.Constructor constructor = cl.getConstructor(new Class[] { String.class });
Object invoker = constructor.newInstance(new Object[] { "AAA" });
Class arguments[] = new Class[] {};
java.lang.reflect.Method objMethod = cl.getMethod(methodName, arguments);
Object result = objMethod.invoke(invoker, (Object[]) arguments);
System.out.println(result);
}
}
The code above generates the following result.