Thursday, July 4, 2024
HomeLanguagesJavaClass getDeclaredConstructor() method in Java with Examples

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
      
    import java.util.*;
      
    public class Test {
      
        public Test() {}
      
        public static void main(String[] args)
            throws ClassNotFoundException, 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
      
    import java.util.*;
      
    class Main {
      
        private Main() {}
      
        public static void main(String[] args)
            throws ClassNotFoundException, NoSuchMethodException
        {
      
            // returns the Class object for this class
            Class myClass = Class.forName("Main");
      
            System.out.println("Class represented by myClass: "
                               + myClass.toString());
      
            Class[] parameterType = new Class[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)
    

    Reference: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getDeclaredConstructor-java.lang.Class…-

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments