若一个类中未定义默认的构造方法,当通过反射的机制这个类的实例会报下面的错误:
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) ;
最后
以上就是爱笑小丸子最近收集整理的关于java 反射无参方法_无参构造方法 ? 反射的全部内容,更多相关java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复