无参构造方法 ? 反射
2015-11-11 00:00
183 查看
若一个类中未定义默认的构造方法,当通过反射的机制这个类的实例会报下面的错误:
[b]Exception in thread "main" java.lang.[b]InstantiationException[/b]
做反射机制时,[b][b]调用无参的构造方法:[/b][/b]
Class class1 = Class.forName(className);
Object o1 = class1.newInstance();(调用默认的构造方法)
[b]做反射机制时,调用有参数的构造方法:[/b]
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) ;
[b]Exception in thread "main" java.lang.[b]InstantiationException[/b]
做反射机制时,[b][b]调用无参的构造方法:[/b][/b]
Class class1 = Class.forName(className);
Object o1 = class1.newInstance();(调用默认的构造方法)
[b]做反射机制时,调用有参数的构造方法:[/b]
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) ;
相关文章推荐
- Android数据库小记
- MAC下SVN的常用命令
- IOS开发--循环引用问题,普通控件为什么用weak,代理为什么用weak,block内用到外面的东
- HTTP Status 500 - Unable to compile class for JSP
- Javascript 面向对象编程
- centos防火墙开发新端口
- Hadoop2.7.1配置NameNode+ResourceManager高可用原理分析
- SELinux下安装MariaDB/MySQL,并自定义数据库目录
- asp.net web 自定义控件
- 搭建CAS单点登录服务器
- Java课程设计笔记-Android系统获取所有存储器路径
- txt文件导入数据库的utf-8问题
- 结构型模式——代理模式
- Java基本数据类型与四个运算
- 【转】使用Core Graphics绘画一个山寨微信icon
- 浅谈工业级物联网项目架构设计及实施
- Day Four
- 在线安装 IntelliJ IDEA的 golang 插件
- 昂贵的聘礼
- 如何实现携程动态加载插件中对aapt的改造