Java Class getDeclaredConstructors() Method



Description

The Java 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.

Declaration

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

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

Parameters

NA

Return Value

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

Exception

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

Getting Declared Constructors of a Class Example

The following example shows the usage of java.lang.Class.getDeclaredConstructors() method. In this program, we've created an instance of ClassDemo and then using getClass() method, the class of the instance is retrieved. In ClassDemo, we've two constructors. Now using getDeclaredConstructors(), we've retrieved both the constructors and printed them.

package com.tutorialspoint;

import java.lang.reflect.Constructor;

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

Output

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

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

Getting Declared Constructors of ArrayList Class Example

The following example shows the usage of java.lang.Class.getDeclaredConstructors() method. In this program, we've used the ArrayList class. Now using getDeclaredConstructors(), we've retrieved all the constructors and printed them.

package com.tutorialspoint;

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

public class ClassDemo {

   public static void main(String[] args) {
      Class c = ArrayList.class;

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

Output

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

Constructor found: public java.util.ArrayList(java.util.Collection)
Constructor found: public java.util.ArrayList()
Constructor found: public java.util.ArrayList(int)

Getting Declared Constructors of Thread Class Example

The following example shows the usage of java.lang.Class.getDeclaredConstructors() method. In this program, we've used the Thread class. Now using getDeclaredConstructors(), we've retrieved all the constructors and printed them.

package com.tutorialspoint;

import java.lang.reflect.Constructor;

public class ClassDemo {

   public static void main(String[] args) {
      Class c = Thread.class;

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

Output

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

Constructor found: public java.lang.Thread()
Constructor found: public java.lang.Thread(java.lang.Runnable)
Constructor found: java.lang.Thread(java.lang.Runnable,java.security.AccessControlContext)
Constructor found: java.lang.Thread(java.lang.String,int,boolean)
Constructor found: java.lang.Thread(java.lang.ThreadGroup,java.lang.String,int,java.lang.Runnable,long,java.security.AccessControlContext)
Constructor found: public java.lang.Thread(java.lang.ThreadGroup,java.lang.Runnable,java.lang.String,long,boolean)
Constructor found: public java.lang.Thread(java.lang.ThreadGroup,java.lang.Runnable,java.lang.String,long)
Constructor found: public java.lang.Thread(java.lang.ThreadGroup,java.lang.Runnable,java.lang.String)
Constructor found: public java.lang.Thread(java.lang.Runnable,java.lang.String)
Constructor found: public java.lang.Thread(java.lang.ThreadGroup,java.lang.Runnable)
Constructor found: public java.lang.Thread(java.lang.String)
Constructor found: public java.lang.Thread(java.lang.ThreadGroup,java.lang.String)
java_lang_class.htm
Advertisements