本文涉及的javaapi有:
基本编程思路: 【程序编程相关:Simple Network Manag】
java.lang包中的class类,java.lang.reflect包中的field,method,constructor,modifier类 【推荐阅读:关于B/S中代码分离的个人观点】
//getdeclaredfields返回所有定义的字段数组 【扩展信息:SNMP-RFC】
首先要获取需要进行分析的类的名称,将类名称指定到class类中的forname(string classname)方法为参数,调用该方法后将返回一个该指定类型的class对象,class对象描述了该类型的详细信息,其中一些重要的方法包括:getfields(),getmethods(),getconstructors()这些方法分别返回该类型中支持的公有字段,方法与构造器数组,其中包含超类的公有成员,而同是class中以上的方法名称中加入了“declared”的方法则返回该类型中定义的所有成员包括私有的但不包括超类成员,现在,我们已经获得了该类型的字段,方法与构造器数组,接着,我们使用java.lang.reflect包中的field,method,constructor类来获得字段,方法与构造器的详细信息,例如:我们要显示该类型中的所有的字段信息,伪代码:
field[] fields = class.getdeclaredfields();
for (i = 0; i < fields.length; i++)
{
field f = fields[i];
class type = f.gettype(); //gettype()返回字段的数据类型
string name = f.getname(); //getname()返回字段名称
println(modifier.tostring(f.getmodifiers()));
//getmodifiers()返回一个代表访问控制符的整数
... 下一页