您的位置:首页 > 其它

关于反射中方法指针中我遇到的问题

2006-08-15 23:35 232 查看
今天学习反射的时候有头大了,很多人都说反射是JAVA的核心,但是真正讲核心的书籍是少之又少,连CORE JAVA里面也只是寥寥的几笔。
主要是这样的:我有一个类里面有个getTitle的方法,我现在要写个类用反射技术来调用这个对象。CORE JAVA中把他叫为方法指针。这里面最关键的也就是invoke方法,他里面有二个参数,第一个参数是你要在哪个对象上调用该方法,第二个参数是你要给这个方法传递的参数值 。我先是这么写的String i = (String)field.invoke(cls,null),JVM提示未找到对象,我一直都没搞清楚这是为什么。后来想到了应该要new个对象,但是new 个对象就失去这个程序的意义了,后来想到反射中的newInstance,基本上程序就OVER了,这个程序很简单,只是我迈开反射学习的第一步。

import java.lang.reflect.*;
import java.awt.Dimension;
public class RefTest
public static void main(String args[])
String classname = "View";//类名
String methodname ="getTitle";//类中方法名
try Class cls = Class.forName(classname);
Method method = cls.getMethod(methodname) ;

String i = (String)method.invoke(cls.newInstance(),null);

System.out.println(i);

}
catch (Throwable e) System.err.println(e);
}

}
}
classname和methodname放到XML文件中就更直观了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐