反射常用的api
1.getName():获取全类名
Class clazz = Reflect.class;
System.out.println(clazz.getName());

2.getSimpleName():获取简单类名
Class clazz = Reflect.class;
System.out.println(clazz.getSimpleName());

3.getFields():获取本类和父类的所有public属性
Class clazz = Reflect.class;
Field[] fields = clazz.getFields();
for (Field field :fields) {
System.out.println("本类及父类的所有属性"+field.getName());
}

4.getMethods():获取本类和父类的所有public方法
Class clazz = Reflect.class;
Method[] methods = clazz.getMethods();
for (Method method :methods) {
System.out.println("本类及父类的所有方法"+method.getName());
}

5.getConstructors():获取本类所有public构造器
Class clazz = Reflect.class;
Constructor[] constructors = clazz.getConstructors();
for (Constructor constructor :constructors) {
System.out.println("本类及父类的所有public属性"+constructor.getName());
}
6.getDeclaredFields():获取本类所有属性
Class clazz = Reflect.class;
Field[] declaredFields = clazz.getDeclaredFields();
for (Field field :declaredFields) {
System.out.println("本类的所有属性"+field.getName());
}

7.getDeclaredFields():获取本类所有方法
Class clazz = Reflect.class;
Field[] fields = clazz.getFields();
for (Field field :fields) {
System.out.println("本类的所有属性"+field.getName());
}

8.getDeclaredFields():获取本类所有构造方法
Class clazz = Reflect.class;
Constructor[] constructors = clazz.getDeclaredConstructors();
for (Constructor constructor :constructors) {
System.out.println("本类的所有构造器"+constructor.getName());
}

9.getSuperclass():返回父类信息
Class clazz = User.class;
System.out.println(clazz.getSuperclass());

9.getPackage():返回包名信息
Class clazz = Reflect.class;
System.out.println(clazz.getPackage());

以上就是最为常用的反射api

浙公网安备 33010602011771号