美文网首页程序员我的javaSE
javaSE使用反射调用构造器对象

javaSE使用反射调用构造器对象

作者: 冒险小A | 来源:发表于2018-03-23 16:58 被阅读0次

    构造器最大的作用:创建对象.

    为什么使用反射创建对象而不直接来new呢?

    在框架中.提供给我们的都是字符串


    使用反射创建对象__步骤:

    1. 找到构造器所在类的字节码对象.
    2. 获取构造器对象.
    3. 使用反射,创建对象.

    constructor<T>类:表示类中构造器的类型,constructor的实例就是某一个类中的某一个构造器

    常用方法:

    public T newInstance(Object parameters);
    如果调用带参数的构造器,只能使用该方式.
    参数:parameters:表示调用构造器的实际参数
    返回:返回创建的实例,T表示Class所表示类的类型
    

    如果一个类中的构造器是外界可以直接访问,并且没有参数,那么可以直接使用Class类中的newInstance方法创建对象.
    public Object newInstance(); 相当于new类名();


    构造器
    通过反射调用构造器

    注意到当调用到私有构造器方法的时候,使用的是getDeclaredConstructor();
    并且之前要用setAccessible方法设置私有构造器为可以访问的(这里也反映了了单例设计模式不完全是安全的.).

    相关文章

      网友评论

        本文标题:javaSE使用反射调用构造器对象

        本文链接:https://www.haomeiwen.com/subject/hayxcftx.html