java反射初级练习

来源:互联网 发布:网络推广邀约话术 编辑:程序博客网 时间:2024/04/29 03:48
package util;


import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;


public class ClassUtil {
public static void printClassMessage(Object object){
Class clazz=object.getClass();
System.out.println("类的全路径"+clazz.getName());
//成员变量
System.out.println("成员变量:");
Field[] fields=clazz.getDeclaredFields();
for(Field field:fields){
String name=field.getName();
Class fieldType=field.getType();
String type=fieldType.getSimpleName();
System.out.println(type+"\t"+name+";");
}
System.out.println("成员函数:");
Method[] methods=clazz.getDeclaredMethods();
for(Method method:methods){
Class returnType=method.getReturnType();
System.out.print(returnType.getSimpleName()+"\t"+method.getName()+"(");
Class[] paramType=method.getParameterTypes();
for(Class param:paramType){
System.out.print(param.getSimpleName()+",");
}
System.out.print(")\n");
}
System.out.println("构造函数:");
Constructor[] cs=clazz.getDeclaredConstructors();
for(Constructor constructor:cs){
String constructorName=constructor.getName();
System.out.print(constructorName+"(");
Class[] params=constructor.getParameterTypes();
for(Class p:params){
String ps=p.getSimpleName();
System.out.print(ps+",");

}
System.out.print(");\n");
}
}


}
0 0
原创粉丝点击