Java Class getClasses() 方法



描述

Java Class getClasses() 方法返回一個包含 Class 物件的陣列,這些物件表示由該 Class 物件表示的類的所有公共類和介面成員。這包括從超類繼承的公共類和介面成員,以及類宣告的公共類和介面成員。

宣告

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

public Class<?>[] getClasses()

引數

返回值

此方法返回表示此類的公共成員的 Class 物件陣列。

異常

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

獲取類的成員類和介面示例

以下示例演示了 java.lang.Class.getClasses() 方法的用法。在這個程式中,我們檢索了 ClassDemo 的 Class,然後使用 getClasses() 檢索所有成員類,然後列印每個類的名稱。

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         // returns the Class object associated with this class
         Class cls = Class.forName("com.tutorialspoint.ClassDemo");

         /* returns the array of Class objects representing the public 
            members of this class */
         Class[] classes = cls.getClasses();
         for (int i = 0; i < classes.length; i++) {
            System.out.println("Class found = " + classes[i].getName());
         }
      } catch (ClassNotFoundException e) {
         System.out.println(e.toString());
      }
   }

   public class InnerClass1 {
      public InnerClass1() {
         System.out.println("Inner Class1");
      }
   }

   public class InnerClass2 {
      public InnerClass2() {
         System.out.println("Inner Class2");
      }
   }

   private class InnerPrivateClass {
      public InnerPrivateClass() {
         System.out.println("Inner Private Class");
      }
   }
} 

輸出

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

Class found = com.tutorialspoint.ClassDemo$InnerClass1
Class found = com.tutorialspoint.ClassDemo$InnerClass2

獲取 Thread 類的成員類和介面示例

以下示例演示了 java.lang.Class.getClasses() 方法的用法。在這個程式中,我們檢索了 Thread 類的 Class,然後使用 getClasses() 檢索所有成員類,然後列印每個類的名稱。

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {
      /* returns the array of Class objects representing the public 
         members of this class */
      Class[] classes = Thread.class.getClasses();
      for (int i = 0; i < classes.length; i++) {
         System.out.println("Class found = " + classes[i].getName());
      }
   }
} 

輸出

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

Class found = java.lang.Thread$UncaughtExceptionHandler
Class found = java.lang.Thread$State
Class found = java.lang.Thread$Builder

獲取 ArrayList 類的成員類和介面示例

以下示例演示了 java.lang.Class.getClasses() 方法的用法。在這個程式中,我們檢索了 ArrayList 類的 Class,然後使用 getClasses() 檢索所有成員類,然後列印陣列長度為零。

package com.tutorialspoint;

import java.util.ArrayList;

public class ClassDemo {

   public static void main(String[] args) {

      /* returns the array of Class objects representing the public 
         members of this class */
      Class[] classes = ArrayList.class.getClasses();
      System.out.println("Classes found = " + classes.length);
   }
} 

輸出

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

Classes found = 0
java_lang_class.htm
廣告