之前在自己的一個JSP 裡面做了一個簡單的 反射方法 可以把 一個類的 屬性 方法 建構函式都顯示出來,代碼如下:
void reflectAPI(javax.servlet.jsp.JspWriter out,String className)throws Exception{
Class cls=Class.forName(className);
String constructor="";
String ifString="";
Class[] interfaces=cls.getInterfaces();
String supperClass=cls.getSuperclass().toString();
Constructor[] c=cls.getDeclaredConstructors();
Field[] f=cls.getDeclaredFields();
Method[] m=cls.getDeclaredMethods();
for(int i=0;i<interfaces.length;i++){
ifString=ifString+interfaces[i].getName()+",";
}
out.print("<strong>"+Modifier.toString(cls.getModifiers())+"</strong> "+cls+"<br><strong>extends</strong> "+supperClass+" <strong><br>implemets</strong> "+ifString);
out.print("<br>{<br><EM>Constructor:</EM><br>");
for(int i=0;i<c.length;i++)
out.print(" "+c[i]+"<br>");
out.print("<EM>Field:</EM><br>");
for(int i=0;i<f.length;i++)
out.print(" "+f[i]+"<br>");
out.print("<EM>Function:</EM><br>");
for(int i=0;i<m.length;i++)
out.print(" "+m[i]+"<br>");
out.print("<br>}");
} 跟 javap 的功能差不多