反射机制reflect

来源:互联网 发布:matlab 生成稀疏矩阵 编辑:程序博客网 时间:2024/05/20 21:48

类对象类对象,就是用于描述这种类,都有什么属性,什么方法的 

      import lv;

      public class Lvmeieh{  String name, ...}

 获取类对象(导致静态属性被初始化):方法1 Class.forName(lv.Lvmiehe);方法2lvmiehe.class;方法3 new lvmeihe().getClass();

  创建一个对象:1 获取类对象; Class meihe = Class.forName(lv.Lvmeihe);

  2获取构造器:Constructor c = meihe.getConstructor();

  3通过构造器实例化:Lvmeihe l = (Lvmeihe)c.newInstance();

        

  访问name字段属性:Field f = l.getDeclaredField("name"); getDeclaredField方法可以湖区privat的字段,但不能访问该字段的值

  修改字段的值:f.set(l,"lvmeihe"); 如果是private属性:要setAccessible(true);

  调用方法:Method m = l.getMethod("setName");

m.invoke(l,"value值");

反射的作用:spring的依赖注入,控制反转,都用到了反射,减少代码的耦合度



  

原创粉丝点击