Java的反射的动态生成

这是一种叫做反射的动态生成对象的机制,这两天看了点相关的文章初步了解了一些,也找到解决你这个问题的方法,其实也很简单,只是它的原理很复杂很难懂,实现方式还是比较简单的,强行去记住它就好.
Class cls=Class.forName("Thetest");//例如存在一个这样的类.
Class par=new Class[]{int.class,double.classs}//例如导入的这个类的构造方法有着两个参数
Constructor con=c.getConstructor(par);//指定参数,以便获得适合的构造方法


以下是将引入的类实例化
Object objs=new Object[]{33,23.3}//object类是所有类的父类,所以它可以接收所有数据类型和对象,如果对面向对象的编程有所了解应该明白.
Object obj=null;
obj=con.newInstance(objs);//这里的原理与前相同.
Thetest test=(Thetest)obj;//将这个声明的对象强制转化以便调用该对象.
System.out.println(obj);//可以输出一些该对象的信息.

这是一个反射的用法,是一种比较高深技术.他的意图是动态的调用和创建运行时的对象,缺点就是会损失性能.而且比较难以理解.


转自 http://bbs.cfan.com.cn/thread-471714-1-1.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值