import java.lang.reflect.*;
Class [] classParm = null;
Object [] objectParm = null;
try {
String name = "com.rgagnon.MyClass";
Class cl = Class.forName(name);
java.lang.reflect.Constructor co = cl.getConstructor(classParm);
return co.newInstance(objectParm);
}
catch (Exception e) {
e.printStackTrace();
return null;
}
Another example, but this time we are passing a parameter to the //constructor and calling a method dynamically.
public class Test {
public static void main(String args[]) {
try {
String name = "java.lang.String";
String methodName = "toLowerCase";
// get String Class
Class cl = Class.forName(name);
// get the constructor with one parameter
java.lang.reflect.Constructor constructor =cl.getConstructor(new Class[] {String.class});
// create an instance
Object invoker =constructor.newInstance (new Object[]{"REAL'S HOWTO"});
// the method has no argument
Class arguments[] = new Class[] { };
// get the method
java.lang.reflect.Method objMethod = cl.getMethod(methodName, arguments);
// convert "REAL'S HOWTO" to "real's howto"
Object result =objMethod.invoke(invoker, (Object[])arguments);
System.out.println(result);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Class [] classParm = null;
Object [] objectParm = null;
try {
String name = "com.rgagnon.MyClass";
Class cl = Class.forName(name);
java.lang.reflect.Constructor co = cl.getConstructor(classParm);
return co.newInstance(objectParm);
}
catch (Exception e) {
e.printStackTrace();
return null;
}
Another example, but this time we are passing a parameter to the //constructor and calling a method dynamically.
public class Test {
public static void main(String args[]) {
try {
String name = "java.lang.String";
String methodName = "toLowerCase";
// get String Class
Class cl = Class.forName(name);
// get the constructor with one parameter
java.lang.reflect.Constructor constructor =cl.getConstructor(new Class[] {String.class});
// create an instance
Object invoker =constructor.newInstance (new Object[]{"REAL'S HOWTO"});
// the method has no argument
Class arguments[] = new Class[] { };
// get the method
java.lang.reflect.Method objMethod = cl.getMethod(methodName, arguments);
// convert "REAL'S HOWTO" to "real's howto"
Object result =objMethod.invoke(invoker, (Object[])arguments);
System.out.println(result);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
No comments:
Post a Comment