public static void main(String args) {
List interfaces = getAllClasses(HashMap.class);for (int i = 0; i < interfaces.size(); i++)
System.out.println(interfaces.get(i));
}public static List getAllClasses(Class clazz) {
List classes = new ArrayList();
return getAllClasses(clazz, classes);
}public static List getAllClasses(Class clazz, List classes) {
if(!classes.contains(clazz))
classes.add(clazz);getAllInterfaces(clazz, classes);
Class c = clazz.getSuperclass();if(c != null)
getAllClasses(c, classes);return classes;
}public static List getAllInterfaces(Class clazz, List classes) {
interfaces = clazz.getInterfaces();
Classfor (int i = 0; i < interfaces.length; i++) {
if(!classes.contains(interfaces[i]))
classes.add(interfaces[i]);getAllInterfaces(interfaces[i], classes);
}return classes;
}