先定义一个A类:
package test;
public class A {
private int a;
public A(){}
public A(int a){
this.a = a;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
然后创建一个B类,在B类的main方法中动态加载A类,并生成A类的对象,调用有参数的构造函数:
package test;
import java.lang.reflect.Constructor;
public class B {
public B(){}
public static void main(String[] args) throws Exception
{
int i = 5;
A tempClass = (A)(Class.forName("test.A").newInstance());
Class[] parameter = new Class[]{int.class};
Constructor con = tempClass.getClass().getConstructor(parameter);
Object[] arg= new Object[] { i };
A a = (A)con.newInstance(arg);
System.out.println(a.getA());
}
}