通过反射来生成对象两种方法

来源:互联网 发布:ubuntu 配置maven 编辑:程序博客网 时间:2024/04/28 14:51

通过反射来生成对象两种方法:
a 使用Class对象的newInstance()方法来创建该Class对象对应类的实例,这种方式要求该Class对象的对应类有默认构造器,而执行newInstance()方法时实际上是利用默认构造器

来创建该类的实例,如:
      Class<test2> t2 = test2.class;
      test2 test = t2.newInstance();//注意:如果该类有带参构造函数,则系统不再提供默认构造器,此时会报错

b 先使用Class对象获取指定的Constructor对象,再调用Constructor对象的newInstance()方法来创建该Class对象对应类的实例。通过这种方式可以选择使用某个类的指定构造器

来创建实例。
      Constructor<? extends HMaster> c =
        masterClass.getConstructor(Configuration.class);//获取构造器级别是publc,否则报错
      return c.newInstance(conf);

原创粉丝点击