若一个类中未定义默认的构造方法,当通过反射的机制这个类的实例会报下面的错误:
Exception in thread "main" java.lang.[b]InstantiationException
做反射机制时,调用无参的构造方法:
Class class1 = Class.forName(className);
Object o1 = class1.newInstance();(调用默认的构造方法)
做反射机制时,调用有参数的构造方法:
Class cls = Class.forName(className);
Class[] paramTypes = { String.class, String.class, String.class,String.class };
Object[] params = {bankCde, branchCde, buzDate, loanNo}; // 方法传入的参数
Constructor con = cls.getConstructor(paramTypes);//主要就是这句
BatcherBase base = (BatcherBase) con.newInstance(params); //BatcherBase 为自定义类
注:BatcherBase 有构造函数如下
public BatcherBase(String bankCde, String branchCde, String buzDate,String loanNo) ;