Java Class getConstructor() 方法



描述

Java Class getConstructor() 方法返回一个 Constructor 对象,该对象反映由此 Class 对象表示的类的指定公共构造函数。parameterTypes 参数是一个 Class 对象数组,按声明顺序标识构造函数的形式参数类型。

声明

以下是 java.lang.Class.getConstructor() 方法的声明

public Constructor<T> getConstructor(Class<?>... parameterTypes)
   throws NoSuchMethodException, SecurityException

参数

parameterTypes - 这是参数数组。

返回值

此方法返回与指定 parameterTypes 匹配的公共构造函数的 Constructor 对象。

异常

  • NoSuchMethodException - 如果找不到匹配的方法。

  • SecurityException - 如果存在安全管理器 s。

获取 String 类构造函数示例

以下示例演示了 java.lang.Class.getConstructor() 方法的用法。在这个程序中,我们创建了一个 Class 数组的实例,然后用 String 类初始化它。现在使用 getConstructor() 方法,检索实例的构造函数,并打印结果。

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         // returns the Constructor object of the public constructor
         Class cls[] = new Class[] { String.class };
         Constructor c = String.class.getConstructor(cls);
         System.out.println(c);
      } catch(Exception e) {
         System.out.println(e);
      } 
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

public java.lang.String(java.lang.String)

获取自定义类构造函数示例

以下示例演示了 java.lang.Class.getConstructor() 方法的用法。在这个程序中,我们创建了一个 Class 数组的实例,然后用 ClassDemo 类初始化它。现在使用 getConstructor() 方法,检索实例的构造函数,并打印结果。

package com.tutorialspoint;

import java.lang.reflect.Constructor;

public class ClassDemo {

   public ClassDemo(ClassDemo demo){
      // constructor
   }

   public static void main(String[] args) {
	   
	  ClassDemo classDemo = new ClassDemo(null);
	  
	  Class clazz = classDemo.getClass();
      try {
         // returns the Constructor object of the public constructor
         Class cls[] = new Class[] { clazz };
         Constructor c = clazz.getConstructor(cls);
         System.out.println(c);
      } catch(Exception e) {
         System.out.println(e);
      } 
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

public com.tutorialspoint.ClassDemo(com.tutorialspoint.ClassDemo)

获取 List 类构造函数示例

以下示例演示了 java.lang.Class.getConstructor() 方法的用法。在这个程序中,我们创建了一个 Class 数组的实例,然后用 List 类初始化它。现在使用 getConstructor() 方法,检索实例的构造函数,并打印结果。

package com.tutorialspoint;

import java.lang.reflect.Constructor;
import java.util.List;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         // returns the Constructor object of the public constructor
         Class cls[] = new Class[] { };
         Constructor c = List.class.getConstructor(cls);
         System.out.println(c);
      } catch(Exception e) {
         System.out.println(e);
      } 
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

java.lang.NoSuchMethodException: java.util.List.<init>()
java_lang_class.htm
广告