rt, 获取信息后可以用来生产文档,
这是一个不错的主意, 有没有谁做过?
刚试了下,有点问题!
谁有做过给我发一份代码吧!
thank you!
这是一个不错的主意, 有没有谁做过?
刚试了下,有点问题!
谁有做过给我发一份代码吧!
thank you!
解决方案 »
- 求熟悉JApplet中键盘监听的高手帮助
- 有关java graphics 的一点疑问--什么是"剪贴区clip"
- 一个关于简单的java socket问题。
- 编译lucene包的问题?
- 正则表达示[a-zA-Z]与\w有什么区别?
- java 怎样取得一个图片的尺寸
- 如何计算2个给定日期之间相隔多长时间?Calender,Date等类库中有直接实现的方法吗?
- 请问:在JAVA中如何调用XML的参数? 请赐教!!
- 问题描述在图片里
- 请问C++与JAVA如何通讯?
- “serializable 类 Execise 未声明类型为 long 的静态终态 serialVersionUID 字段”什么意思?
- 急问!!websphere上 能编译java吗?
反射出方法,就得到Method对象,然后查查API里面有getParameterTypes() 方法 ,获得参数类型
package pk.main;import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;import pk.test.TestClass;public class InfoGetter { public static void main(String[] args) {
Class<?> testClass = null;
try {
testClass = Class.forName("pk.test.TestClass");
} catch (ClassNotFoundException e) {
System.out.println("ERROR");
return;
} TestClass testClassImpl = new TestClass();
printlnFields(testClassImpl);
printlnMethods(testClass.getDeclaredMethods());
} private static void printlnFields(TestClass testClassImpl) {
for (Field field : testClassImpl.getClass().getDeclaredFields()) {
System.out.println("Field : " + field.getName());
System.out
.println(" " + Modifier.toString(field.getModifiers()));
try {
System.out.println(field.get(testClassImpl));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
} private static void printlnMethods(Method[] methods) {
for (Method method : methods) {
System.out.println("Method : " + method.getName());
System.out.println(" "
+ Modifier.toString(method.getModifiers()));
}
}
}package pk.test;public class TestClass {
int nor0;
int nor1 = 0;
private int pri0;
private int pri1 = 0;
public int pub0;
public int pub1 = 0; public static void main(String[] args) { } private void norFoo0() { }
public void norFoo1() { }
}
看我自己的代码感觉和helloworld似地
//print methods of a class
public static void printMethods(Class<?> clazz){
java.lang.reflect.Method methods[]=clazz.getDeclaredMethods();
for(java.lang.reflect.Method method : methods){
method.setAccessible(true);
StringBuilder sb=new StringBuilder();
int mod = method.getModifiers();
String modifier = Modifier.toString(mod);
sb.append(modifier);//modifier
sb.append(" ");
sb.append(method.getReturnType().getName());//return type
sb.append(" ");
sb.append(method.getName()); //method name
sb.append("(");
Class<?> paramsClazz[]=method.getParameterTypes();//parameter type
for(Class<?> paramClazz : paramsClazz){
sb.append(paramClazz.getName());
sb.append(",");
}
if(paramsClazz.length>0)sb.deleteCharAt(sb.length()-1);
sb.append(")");
Class<?>[] clazzExceptions = method.getExceptionTypes();//Exception type
if(clazzExceptions.length>0)sb.append(" throws ");
for(Class<?> clazzException : clazzExceptions){
sb.append(clazzException.getName());
sb.append(",");
}
if(clazzExceptions.length>0)sb.deleteCharAt(sb.length()-1);
System.out.println(sb);
}
}
//print fields of a class
public static void printFields(Class<?> clazz){
java.lang.reflect.Field fields[] = clazz.getDeclaredFields();
for(java.lang.reflect.Field field : fields){
field.setAccessible(true);
int mod = field.getModifiers();
String modifier = java.lang.reflect.Modifier.toString(mod);
String filedName = field.getName();
String type = field.getType().getName();
System.out.println(modifier +" "+ type +" "+filedName);
}
}
helloword可是程序界的经典代码,.............