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

    }

  • 相关阅读:
    正则表达式30分钟入门教程
    Literal控件用法
    用asp.net 2.0实现网站二级域名
    IIS7 asp.net URL重写配置
    用VS2008开发Ajax网站需要注意
    C#中的equals与==的比较,赋加compareto
    nvchar(50)与Substring(0,50)的理解
    利用Mircosoft URLRewriter.dll实现asp.net页面伪静态
    .NET命名规范中文版
    iframe动态改变src的测试
  • 原文地址:https://www.cnblogs.com/handsome1013/p/7411559.html
Copyright © 2011-2022 走看看