黑马程序员技术交流社区
标题:
一个反射,怎么实现
[打印本页]
作者:
而今从头越2012
时间:
2012-12-29 16:45
标题:
一个反射,怎么实现
本人写了一个类GetInfo,有个方法showMessage(),部分代码如下:
Object obj= method.invoke(mSystemInfo, (Object[]) null);
调用后返回MessageItem[]类型,可是不懂得如何从obj中转换,具体的类MessageItem是通过反射取得的,部分代码如下:
Class<?> clazz = Class.forName("com.heima.MessageItem");
关于方法showMessage()的代码如下:
public MessageItem[] showMessage(){
}
作者:
肖志锋
时间:
2012-12-29 21:37
Class clazz = Class.forName("com.heima.MessageItem"); //获取类对象
Constructor con = clazz.getConstructor(); //获取空参构造函数,当然你也可以获取有参的,这里我就不说了,去看API查下就知道了。
Object obj = con.newInstance();//通过方法新建一个对象,同上,还是无参的,有参的自己弄
Method m = clazz.getMethod("showMessage");//因为你的是无参的
m.invoke(obj); //这样直接运行了,没办法接收,因为你那个数组类型没办法定义,需要导包才能用,但是导包的话就失去反射的意义了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2