获取某一类中的代码:
//指定要获取的类所在位置
Class<?> cs3=Class.forName("com.test.domain.Users");
StringBuffer bf=new StringBuffer();
//获取当前类的修饰符(公开或者私有)
String a=Modifier.toString(cs3.getModifiers());
//获取当前类名称
String className=cs3.getSimpleName();
bf.append(a+" class "+className+"{\n");
//获取当前类中的全局变量
Field[] fields=cs3.getDeclaredFields();
for(Field field:fields){
//1.获取当前全局变量前修饰符
String f=Modifier.toString(field.getModifiers());
//2.获取当前全局变量的类型定义
Class<?> type=field.getType();
String typeName= type.getSimpleName();
//获取当前变量名
String name=field.getName();
bf.append("\t"+f+" "+typeName+" "+name+";\n");
}
//取方法
Method[] methods=cs3.getDeclaredMethods();
for(Method method:methods){
//1.取访问修饰符
String f=Modifier.toString(method.getModifiers());
//2.获取方法是否有返回值的修饰符
Class<?> returnType=method.getReturnType();
String returnTypeName=returnType.getName();
//3.获取方法名称
String methodName=method.getName();
bf.append("\t"+f+" "+ returnTypeName+" "+methodName+"(");
//取方法参数
Class<?>[] parameterTypes=method.getParameterTypes();
for (int i = 0; i < parameterTypes.length; i++) {
//如果有一个参数
if(i==parameterTypes.length-1){
bf.append(parameterTypes[i].getSimpleName());
//或者有多个参数
}else{
bf.append(parameterTypes[i].getSimpleName()+",");
}
}
bf.append("){\n\t\n\t}\n");
}
bf.append("}");
System.out.println(bf);
}