1.通过反射复原属性封装的方法:
public static StringBuffer getMessage(String className) throws ClassNotFoundException{
Class class1 = Class.forName(className);
StringBuffer sb = new StringBuffer();
sb.append(Modifier.toString(class1.getModifiers())+" class "+class1.getName()+" {"+"\n");
Field[] fields = class1.getDeclaredFields();
for (Field field : fields) {
sb.append("\t"+Modifier.toString(field.getModifiers())+" ");
Class type = field.getType();
sb.append(type.getName()+" ");
sb.append(field.getName()+"\n");
}
sb.append("}");
System.out.println(sb);
return sb;
}
2.通过反射复原方法信息的封装方法:
public static StringBuffer getMethod(String className) throws ClassNotFoundException{
Class class1 = Class.forName(className);
StringBuffer sb = new StringBuffer();
sb.append(Modifier.toString(class1.getModifiers())+" class "+class1.getName()+" {");
Method [] methods = class1.getDeclaredMethods();
for (Method method : methods) {
sb.append("\n\t");
sb.append(Modifier.toString(method.getModifiers())+" ");
sb.append(method.getReturnType().getName()+" ");
sb.append(method.getName() +"(");
Class[] para = method.getParameterTypes();
for(int i=0;i<para.length;i++){
sb.append(para[i].getName());
if(i!=para.length-1){
sb.append(",");
}
}
sb.append(") {"+"\n");
sb.append("\t}");
}
sb.append("\n}");
System.out.println(sb);
return sb;
}