转自https://www.2cto.com/kf/201703/611622.html
// 获取当前运行类泛型父类类型,即为参数化类型,有所有类型公用的高级接口Type接收!
Type type = this.getClass().getGenericSuperclass();
// 强转为“参数化类型”
//ParameterizedType参数化类型,即泛型
ParameterizedType pt = (ParameterizedType) type; // BaseDao
// 获取参数化类型中,实际类型的定义
Type[] ts = pt.getActualTypeArguments();
// 转换
this.clazz = (Class) ts[0];