java.lang.Class.getDeclaredConstructors()方法範例


java.lang.Class.getDeclaredConstructors() 方法返回所有Class物件已表示類宣告的建構函式的陣列。這些都是公開的,受保護,預設(包)存取和私有建構函式。

此方法返回一個長度為0的陣列,如果此Class物件表示一個介面,基本型別,陣列類或void。

宣告

以下是java.lang.Class.getDeclaredConstructors()方法的宣告

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

引數

  • NA

返回值

此方法返回一個代表這個類的所有建構函式宣告建構函式物件的陣列。

異常

  • SecurityException -- 如果安全管理存在。

例子

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

package com.yiibai;

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)