zoukankan      html  css  js  c++  java
  • getConstructor、getDeclaredConstructor区别

    getConstructor、getDeclaredConstructor区别

    getDeclaredConstructor:返回指定参数类型、所有声明的(包括private)构造函数

    getConstructor:返回指定参数类型、具有public访问权限的构造函数

    1、 

       /**

         * Returns a Constructor object which represents the constructor matching the given parameter types that is declared by the class represented by this Class.
         * Class[] null is equivalent to the empty array.
         */
        @SuppressWarnings("unchecked")

        public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)

    2、

        /**
         * Returns a Constructor object which represents the public constructormatching the given parameter types.
         * Class[] null is equivalent to the empty array.
         *
         * Use getDeclaredConstructor if you don't want to search superclasses.
         */
        @SuppressWarnings("unchecked")
        public Constructor<T> getConstructor(Class<?>... parameterTypes) throws NoSuchMethodException

    getDeclaredConstructor:返回指定参数类型、所有声明的(包括private)构造函数

    getConstructor:返回指定参数类型、具有public访问权限的构造函数

    Class中,有其他类似方法。

    反射获取private构造方法

    package com.test;

    A {

        private String str;

        public A() { str = "first";   }

        private A(String str) { this.str = str; }

        public String getStr() { return str;  }

    }

    void main(String[] args) {

        Class cls = Class.forName("com.test.A");

        Class[] paramsType = { String.class };

        Object[] params = { "second" };

        Constructor con = cls.getDeclaredConstructor(paramsType);

        con.setAccessible(true);

        A a = (A)con.newinstanct(params);

        a.getStr();// second

    }

  • 相关阅读:
    PAXOS: libevent_paxos
    R提高篇(五): 描述性统计分析
    R提高篇(四): 数据管理二
    R提高篇(三): 数据管理一
    锂电池知识
    R提高篇(二): 图形初阶
    R提高篇(一): 输入输出
    动力电池基本知识篇
    DW(六):polybase访问Azure Blob Storage
    DW(五):polybase集群安装
  • 原文地址:https://www.cnblogs.com/handsome1013/p/7411559.html
Copyright © 2011-2022 走看看