Java 類 getEnclosingConstructor() 方法



描述

java Class getEnclosingConstructor() 方法返回一個 Constructor 物件,該物件表示底層類的緊鄰封閉建構函式,如果此 Class 物件表示建構函式內的區域性類或匿名類,則返回 null。

宣告

以下是Java Class getEnclosingConstructor() 方法的宣告

public Constructor<?> getEnclosingConstructor()

引數

返回值

如果該類是區域性類或匿名類,則此方法返回底層類的緊鄰封閉建構函式,否則返回 null。

異常

獲取底層類的封閉類示例

以下示例演示了 java.lang.Class.getEnclosingConstructor() 方法的用法。在這個程式中,我們建立了一個 Class ClassDemo。在 ClassDemo 建構函式中,建立了一個名為 ClassA 的新類。在主方法中,我們檢索了 ClassDemo 的類,然後使用 getEnclosingConstructor() 方法接收並列印封閉建構函式。

package com.tutorialspoint;

public class ClassDemo {

   public Object c;

   public ClassDemo( ) {
      class ClassA{ };
      c = new ClassA( );
   }

   public Object ClassAObject( ) {
      class ClassA{ };
      return new ClassA( );
   }

   public static void main(String[] args) {
     
      Class cls;
      cls = (new ClassDemo()).c.getClass();

      System.out.print("getEnclosingConstructor() = ");
      System.out.println(cls.getEnclosingConstructor());
   }
} 

輸出

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

getEnclosingConstructor() = public com.tutorialspoint.ClassDemo()

獲取 ArrayList 類的封閉建構函式示例

以下示例演示了 java.lang.Class.getEnclosingConstructor() 方法的用法。在這個程式中,我們使用了 ArrayList 的類。然後使用 getEnclosingConstructor() 檢查並列印封閉建構函式。

package com.tutorialspoint;

import java.util.ArrayList;

public class ClassDemo {
   public static void main(String[] args) {
      Class cls = ArrayList.class;
      
      System.out.println(cls.getEnclosingConstructor());
   }
}

輸出

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

null

獲取 Thread 類的封閉建構函式示例

以下示例演示了 java.lang.Class.getEnclosingConstructor() 方法的用法。在這個程式中,我們使用了 Thread 的類。然後使用 getEnclosingConstructor() 檢查並列印封閉建構函式。

package com.tutorialspoint;

public class ClassDemo {
   public static void main(String[] args) {
      Class cls = Thread.class;
      
      System.out.println(cls.getEnclosingConstructor());
   }
}

輸出

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

null
java_lang_class.htm
廣告