A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

反射-通过反射获取带参数的构造方法并使用



问:  Class这个Java提供的工具类的作用是什么???

1.

        /*
                Class类的newInstance()方法是使用该类的无参构造函数创建对象,
                如果一个类没有无参构造函数就不能创建了,
                可以调用Class类的getConstructor(String class ,int class)方法获取
                指定的构造函数然后再调用Constructor类的newInstance
                方法创建对象
               
               
       
        */

       
        问:
       
                Class  cz  =Class.forName("cn.itcast.Apple"); //得到Apple类的Class对象即字节码对象:获取Apple类的字节码文件
               
                Apple  a=  (Apple ) clazz.newInstance();
               
                System.out.println(a);

2.通过反射获取构造方法

        /* Constructor<T> getConstructor(Class<?>... parameterTypes)
          返回一个 Constructor 对象,它反映此  
       
        */

        Constructor c  =clazz.getConstructor(String.class,int.class);//获取有参构造
       
        Person p  =(Person) c.newInstance("张三",23);
       
        System.out.println(p);

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马