📜  Java中的类 getClasses() 方法和示例(1)

📅  最后修改于: 2023-12-03 15:02:03.033000             🧑  作者: Mango

Java中的类 getClasses() 方法

在Java中,每个类都有一个 getClasses() 方法,该方法返回一个数组,包含该类所定义的所有公共类和接口的 Class 对象。这些类和接口包括该类所实现的接口以及其内部类、嵌套类和枚举类型。

语法

以下是 Java getClasses() 方法的语法:

public Class[] getClasses()
参数

该方法没有参数。

返回值

该方法返回一个 Class 对象数组,包含该类所定义的所有公共类和接口的 Class 对象。

示例

以下是一个使用 getClasses() 方法的示例:

import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    Class<?>[] classes = Main.class.getClasses();

    System.out.println("Classes defined in Main:");
    Arrays.stream(classes).forEach(clazz -> System.out.println(clazz.getName()));
  }

  public static class NestedClass { }

  public interface NestedInterface { }

  public enum NestedEnum { }
}

在上面的示例中,我们定义了一个名为Main的类,并在其中定义了一个嵌套类、一个嵌套接口和一个枚举类型。然后,我们使用 getClasses() 方法获取 Main 类定义的所有类和接口,并使用 Java 8 的流式编程打印它们的名称。

输出如下:

Classes defined in Main:
Main$NestedClass
Main$NestedInterface
Main$NestedEnum

从输出结果可以看出,getClasses() 方法返回了 Main 类定义的所有公共类和接口的 Class 对象,这包括嵌套类、嵌套接口和枚举类型。