private static <T> void reflect_test(Object o, Class<T> oClass) throws Exception {
//将o转换为oClass类型
T cast = oClass.cast(o);
//获取类名
String typeName = cast.getClass().getTypeName();
//通过反射加载类数据
Class<?> aClass = Class.forName(typeName);
//获取类中所有方法
Method[] methods = aClass.getMethods();
//获取类中指定名称的方法
Method classMethod = aClass.getMethod("指定方法名称");
//获取类中指定名称,参数类型的方法
Method aClassMethod = aClass.getMethod("指定方法名称", Integer.class);
//获得某个类的所有的公共(public)的字段,包括父类中的字段。
Field[] fields = aClass.getFields();
//获得某个类的指定名称的公共(public)的字段,包括父类中的字段。
aClass.getField("指定属性名称");
//获取类中public、private和proteced修饰的字段,但是不包括父类的声明的字段
Field[] declaredFields = aClass.getDeclaredFields();
//获取类中指定名称的被public、pr
Java反射小记(基本使用方式、泛型、为Integer类型属性赋值)
最新推荐文章于 2024-01-08 17:43:42 发布