code: public static Type[] getSupperGenericType(Class clazz) {
          ParameterizedType parameterizedType;
          if (clazz.getGenericInterfaces().length > 0) {//父类是interface, the super type is an interface.
              if (clazz.getGenericInterfaces()[0] instanceof ParameterizedType) {
                  /*注意：有多个父接口时，这里是取第一个父接口
                    Attention: if multiple parents are defined, we only get the first one.*/
                  parameterizedType = (ParameterizedType) clazz.getGenericInterfaces()[0];
              } else {
                  return null;
              }
          } else {//父类是class, the super type is a class.
              if (clazz.getGenericSuperclass() instanceof ParameterizedType) {
                  parameterizedType = (ParameterizedType) clazz.getGenericSuperclass();
              } else {
                  return null;
              }
          }
          return parameterizedType.getActualTypeArguments();
      }
docs: Get super class's  generic types. eg. A extends B(T1,T2)  will return [T1,T2]<br>
  If no generic type is defined for the super class, then null is returned.