Java如何获得类对象的构造函数?

下面的示例向您展示如何获取类对象的构造函数。在下面的代码中,我们通过调用Class.getDeclaredConstructors()或Class.getConstructor(Class[])方法来获取构造函数。

package org.nhooo.example.reflect;

import java.lang.reflect.Constructor;

public class GetConstructors {
    public static void main(String[] args) {
        Class clazz = String.class;

        // 获取所有声明的构造函数并迭代构造函数以获取其构造函数
        // 名称和参数类型。
        Constructor[] constructors = clazz.getDeclaredConstructors();
        for (Constructor constructor : constructors) {
            String name = constructor.getName();
            System.out.println("Constructor name= " + name);

            Class[] paramterTypes = constructor.getParameterTypes();
            for (Class c : paramterTypes) {
                System.out.println("Param type name = " + c.getName());
            }
            System.out.println("----------------------------------------");
        }

        // 获取java.lang.String的特定构造函数
        try {
            Constructor constructor = String.class.getConstructor(new Class[] {String.class});
            System.out.println("Constructor     = " + constructor.getName());
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
    }
}