黑马程序员技术交流社区

标题: 反射-通过反射获取带参数的构造方法并使用 [打印本页]

作者: 沉湎码海    时间: 2017-2-15 22:48
标题: 反射-通过反射获取带参数的构造方法并使用
反射-通过反射获取带参数的构造方法并使用



问:  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);






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2