java反射机制知识点

反射机制的用途

    通过对象、类名、字符串形式的 包名加类名 ,获取到该类的描述对象(class对象),通过该class对象可以将该类中的构造方法,成员方法,成员变量以对象的形式获取到,通过这些获取到的对象,我们就可以为成员变量赋值,执行成员方法、创建该类对象等操作。框架中大量使用该机制。

    优点:灵活,易维护。

获取类中的内容

获取构造方法:

  1. 获取类中所有的公开的构造方法:类对象.getConstructors();
  2. 获取所有的构造方法:类对象.getDeclaredConstructors();
  3. 获取无参的构造方法:类对象.getConstructors();
  4. 获取带一个double类型的构造方法 类对象.getConstructor(double.class)

获取成员方法:

  1. 获取所有公开的成员方法 类对象.getMethods();
  2. 获取所有的成员方法 类对象.getDeclaredMethods();
  3. 获取某一个成员方 类对象.getMethod(方法名,参数);

获取成员变量:

  1. 获取所有公开的字段 类对象.getFields();
  2. 获取所有字段 类对象.getDeclaredFields();
  3. 获取某一个字段 类对象.getDeclaredField(字段名);

使用:

  1. 通过获取到的构造方法对象创建该类的对象 构造方法对象.newInstance();
  2. 通过获取到的成员方法对象执行该方法 成员方法对象.invoke(所属对象,参数);
  3. 通过获取到的字段对象为该字段赋值 字段对象.set(所属对象,值);
  4. 通过获取到的字段对象取出该字段值 字段对象.get(所属对象);


猜你喜欢

转载自blog.csdn.net/qq_42401622/article/details/81044889