### Question:
ShowClassDetailInfo { public static String showClassFullInfo(Class clazz) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("package ").append(showClassPackage(clazz)).append(LINE_BREAK); String classModifier = Modifier.toString(clazz.getModifiers()); stringBuilder.append(classModifier).append(SPACE).append(clazz.getSimpleName()); if (hasSuperClass(clazz)) { stringBuilder.append(SPACE).append("extend ").append(clazz.getSimpleName()); } if (hasInterface(clazz)) { stringBuilder.append(SPACE).append("implement ").append(showClassImplInterfaces(clazz)); } stringBuilder.append(" {").append(LINE_BREAK); stringBuilder.append(showDeclaredField(clazz)) .append(LINE_BREAK) .append(showConstructs(clazz)) .append(LINE_BREAK) .append(showDeclaredMethod(clazz)) .append(LINE_BREAK) .append("}"); return stringBuilder.toString(); }  static String showClassFullInfo(Class clazz); static String showClassPackage(Class clazz); static boolean hasSuperClass(Class clazz); static String showSuperClass(Class clazz); static boolean hasInterface(Class clazz); static String showClassImplInterfaces(Class clazz); static String showConstructs(Class clazz); static Object[] showAllDirectInstanceFieldsValue(Object object); static String showDeclaredField(Class clazz); static String showDeclaredMethod(Class clazz);  }### Answer:
@Test public void testShowClassAllInfo() throws Exception { System.out.println(ShowClassDetailInfo.showClassFullInfo(String.class)); }