Java 類 getDeclaredConstructors() 方法



描述

Java 類 getDeclaredConstructors() 方法返回一個 Constructor 物件陣列,這些物件反映了由該 Class 物件表示的類宣告的所有建構函式。這些建構函式可以是公共的、受保護的、預設的(包訪問)和私有的。

如果此 Class 物件表示一個介面、一個原始型別、一個數組類或 void,則此方法返回長度為 0 的陣列。

宣告

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

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

引數

返回值

此方法返回表示此類所有已宣告的建構函式的 Constructor 物件陣列。

異常

SecurityException - 如果存在安全管理器 s。

獲取類的已宣告建構函式示例

以下示例演示了 java.lang.Class.getDeclaredConstructors() 方法的使用。在此程式中,我們建立了一個 ClassDemo 的例項,然後使用 getClass() 方法檢索例項的類。在 ClassDemo 中,我們有兩個建構函式。現在使用 getDeclaredConstructors(),我們檢索了這兩個建構函式並列印了它們。

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

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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

獲取 ArrayList 類已宣告的建構函式示例

以下示例演示了 java.lang.Class.getDeclaredConstructors() 方法的使用。在此程式中,我們使用了 ArrayList 類。現在使用 getDeclaredConstructors(),我們檢索了所有建構函式並列印了它們。

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

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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

獲取 Thread 類已宣告的建構函式示例

以下示例演示了 java.lang.Class.getDeclaredConstructors() 方法的使用。在此程式中,我們使用了 Thread 類。現在使用 getDeclaredConstructors(),我們檢索了所有建構函式並列印了它們。

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

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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
廣告