Class getDeclaredConstructor() method in Java with Examples

The getDeclaredConstructor() method of java.lang.Class class is used to get the specified constructor of this class with the specified parameter type. The method returns the specified constructor of this class in the form of Constructor object.
Syntax:
public Constructor<T>
getDeclaredConstructor(Class[] parameterType)
throws NoSuchMethodException, SecurityException
Parameter: This constructor accepts a parameters parameterType which is the array of parameter type for the specified constructor.
Return Value: This method returns the specified constructor of this class in the form of Constructor objects.
Exception This method throws:
- NoSuchMethodException if a constructor with the specified name is not found.
- SecurityException if a security manager is present and the security conditions are not met.
Below programs demonstrate the getDeclaredConstructor() method.
Example 1:
// Java program to demonstrate// getDeclaredConstructor() methodÂÂimportjava.util.*;ÂÂpublicclassTest {   ÂpublicTest() {}   Âpublicstaticvoidmain(String[] args)       ÂthrowsClassNotFoundException, NoSuchMethodException   Â{       Â// returns the Class object for this class       ÂClass myClass = Class.forName("Test");       ÂSystem.out.println("Class represented by myClass: "                          Â+ myClass.toString());       ÂClass[] parameterType =null;       Â// Get the constructor of myClass       Â// using getDeclaredConstructor() method       ÂSystem.out.println(           Â"Constructor of myClass: "           Â+ myClass.getDeclaredConstructor(parameterType));   Â}}Output:Class represented by myClass: class Test Constructor of myClass: public Test()
Example 2:
// Java program to demonstrate// getDeclaredConstructor() constructorÂÂimportjava.util.*;ÂÂclassMain {   ÂprivateMain() {}   Âpublicstaticvoidmain(String[] args)       ÂthrowsClassNotFoundException, NoSuchMethodException   Â{       Â// returns the Class object for this class       ÂClass myClass = Class.forName("Main");       ÂSystem.out.println("Class represented by myClass: "                          Â+ myClass.toString());       ÂClass[] parameterType =newClass[1];       ÂparameterType[0] = Long.class;       Âtry{           Â// Get the constructor of myClass           Â// using getDeclaredConstructor() method           ÂSystem.out.println(               Â"Constructor of myClass: "               Â+ myClass.getDeclaredConstructor(parameterType));       Â}       Âcatch(Exception e) {           ÂSystem.out.println(e);       Â}   Â}}Output:Class represented by myClass: class Main java.lang.NoSuchMethodException: Main.(java.lang.Long)



