Java.lang.Class.getDeclaredConstructors() 方法

描述

java.lang.Class.getDeclaredConstructors() 方法返回一个 Constructor 对象数组,反映了由此 Class 对象表示的类声明的所有构造函数。 它们是公共的、受保护的、默认(包)访问和私有构造函数。

如果此 Class 对象表示接口、原始类型、数组类或 void,则此方法返回长度为 0 的数组。


声明

以下是 java.lang.Class.getDeclaredConstructors() 方法的声明。

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

参数

NA


返回值

此方法返回 Constructor 对象数组,表示该类的所有声明的构造函数。


异常

SecurityException − 如果存在安全管理员 s。


示例

下面的例子展示了 java.lang.Class.getDeclaredConstructors() 方法的使用。

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

让我们编译并运行上面的程序,这将产生下面的结果 −

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