Java 類 getEnclosingMethod() 方法



描述

Java 類 getEnclosingMethod() 方法返回一個 Method 物件,該物件表示基礎類的緊鄰封閉方法,如果此 Class 物件表示方法內的區域性類或匿名類,則返回 null。

宣告

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

public Method getEnclosingMethod()

引數

返回值

如果該類是區域性類或匿名類,則此方法返回基礎類的緊鄰封閉方法;否則返回 null。

異常

獲取基礎類的封閉方法示例

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

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()).ClassAObject().getClass();

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

輸出

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

Method = public java.lang.Object com.tutorialspoint.ClassDemo.ClassAObject()

獲取 ArrayList 類的封閉方法示例

以下示例顯示了 java.lang.Class.getEnclosingMethod() 方法的使用。在此程式中,我們使用了 ArrayList 的類。然後使用 getEnclosingMethod() 檢查並列印封閉方法。

package com.tutorialspoint;

import java.util.ArrayList;

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

輸出

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

null

獲取 Thread 類的封閉方法示例

以下示例顯示了 java.lang.Class.getEnclosingMethod() 方法的使用。在此程式中,我們使用了 Thread 的類。然後使用 getEnclosingMethod() 檢查並列印封閉方法。

package com.tutorialspoint;

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

輸出

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

null
java_lang_class.htm
廣告

© . All rights reserved.