code: public static List<Method> getAllMethods(Class clazz) {
          List<Method> all = new ArrayList<Method>();
          for (Class<?> c = clazz; c != Object.class && c != null; c = c.getSuperclass()) {
              Method[] methods = c.getDeclaredMethods(); // 所有方法，不包含父类
              for (Method method : methods) {
                  int mod = method.getModifiers();
                  // native的不要
                  if (Modifier.isNative(mod)) {
                      continue;
                  }
                  method.setAccessible(true); // 不管private还是protect都可以
                  all.add(method);
              }
          }
          return all;
      }
docs: 迭代查询全部方法，包括本类和父类
  
  @param clazz 对象类
  @return 所有字段列表