Java Class getConstructor() Method



Description

The Java Class getConstructor() method returns a Constructor object that reflects the specified public constructor of the class represented by this Class object. The parameterTypes parameter is an array of Class objects that identify the constructor's formal parameter types, in declared order.

Declaration

Following is the declaration for java.lang.Class.getConstructor() method

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

Parameters

parameterTypes − This is the parameter array.

Return Value

This method returns the Constructor object of the public constructor that matches the specified parameterTypes.

Exception

  • NoSuchMethodException − If a matching method is not found.

  • SecurityException − If a security manager, s, is present.

Getting Constructor of String class Example

The following example shows the usage of java.lang.Class.getConstructor() method. In this program, we've created an instance of Class Array and then intialize it with String class. Now using getConstructor() method, the constructor of the instance is retrieved and the result is printed.

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);
      } 
   }
}

Output

Let us compile and run the above program, this will produce the following result −

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

Getting Constructor of Custom Class Example

The following example shows the usage of java.lang.Class.getConstructor() method. In this program, we've created an instance of Class Array and then intialize it with ClassDemo class. Now using getConstructor() method, the constructor of the instance is retrieved and the result is printed.

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);
      } 
   }
}

Output

Let us compile and run the above program, this will produce the following result −

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

Getting Constructor of List class Example

The following example shows the usage of java.lang.Class.getConstructor() method. In this program, we've created an instance of Class Array and then intialize it with List class. Now using getConstructor() method, the constructor of the instance is retrieved and the result is printed.

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);
      } 
   }
}

Output

Let us compile and run the above program, this will produce the following result −

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