Java.lang.Class.getDeclaredConstructors() Method


The java.lang.Class.getDeclaredConstructors() method returns an array of Constructor objects reflecting all the constructors declared by the class represented by this Class object. These are public, protected, default (package) access, and private constructors.

This method returns an array of length 0 if this Class object represents an interface, a primitive type, an array class, or void.


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

public Constructor<?>[] getDeclaredConstructors() throws SecurityException 



Return Value

This method returns the array of Constructor objects representing all the declared constructors of this class.


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


The following example shows the usage of java.lang.Class.getDeclaredConstructors() method.

package com.tutorialspoint;

import java.lang.reflect.*;

public class ClassDemo {

   public static void main(String[] args) {

      ClassDemo cls = new ClassDemo();
      Class c = cls.getClass();

      // constructors
      Constructor[] ct = c.getDeclaredConstructors();
      for(int i = 0; i < ct.length; i++) {
         System.out.println("Constructor found: " + ct[i].toString());

   private ClassDemo() {
      System.out.println("no argument constructor");

   public ClassDemo(Double d, Long l) {
      this.d = d;
      this.l = l;

   Double d = new Double(3.9d);
   Long l = new Long(7687);

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

no argument constructor
Constructor found: private ClassDemo()
Constructor found: public ClassDemo(java.lang.Double,java.lang.Long)