反射机制

完整教程:how2j

备忘

  • 类对象 与未实例化对象有区别

    1
    2
    3
    4
    5
    Hero c=null;//未实例化的类对象   

    Class c1=class.forname(className);//类对象
    Class c2=Hero.class;
    Class c3=new Hreo.getClass();
  • 创建对象:传统方法 new

    1
    Hero h1 =new Hero();
  • 反射机制不同:会先拿到Hero的“类对象”,然后通过类对象获取“构造器对象” 再通过构造器对象创建一个对象

    1
    2
    3
    4
    5
    6
    7
    8
    //使用反射的方式创建对象
    String className = "charactor.Hero";
    //类对象
    Class pClass=Class.forName(className);
    //构造器
    Constructor c= pClass.getConstructor();
    //通过构造器实例化
    Hero h2= (Hero) c.newInstance();
  • 通过配置文件获取对象

  • 访问属性并修改