满意答案
sseeeidh28
2013.11.04
采纳率:59% 等级:13
已帮助:7223人
下面是读取类里面的信息的,关键字自己查找吧,命令行我试过了
javac FindKeyWord.java
java FindKeyWord java.util.ArrayList
下面是代码:
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class FindKeyWord {
/**
* @param args
*/
public static void main(String[] args) {
Class keyClazz = null;
try {
keyClazz = Class.forName(args[0]);
System.out.println("类:" + keyClazz.getName() + "所属包:" + keyClazz.getPackage().getName() + "访问修饰符:" + Modifier.toString(keyClazz.getModifiers()));
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("----------获取属性--------------");
//获取属性
Field[] fields = keyClazz.getDeclaredFields();
for(Field f : fields){
System.out.println("属性" + f.getName() + " 类型: "+ f.getType().getName() + " 外部类: " + f.getDeclaringClass() + " 访问修饰符: " + Modifier.toString(f.getModifiers()));
}
System.out.println("----------获取构造器参数列表--------------");
//获取每个构造器的参数类型列表
Constructor[] cons = keyClazz.getDeclaredConstructors();
for(Constructor con : cons){
System.out.print("构造器:" + con.getName() + " 访问修饰符:" + Modifier.toString(con.getModifiers()) + " 参数列表类型为:");
Class[] cx = con.getParameterTypes();
for(Class cc : cx){
System.out.print(cc.getName()+" + ");
}
System.out.println();
}
System.out.println("-----------获取方法-------------");
//获取方法
Method[] methods = keyClazz.getDeclaredMethods();
for(Method method : methods){
System.out.println("方法"+method.getName()+"的返回类型为:"+method.getReturnType().getName()+" 访问修饰符: "+Modifier.toString(method.getModifiers()));
}
}
}
00分享举报