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

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

Java中的类 getDeclaredClasses() 方法和示例

在Java中,每当我们定义一个类时,Java都会自动为其创建一个Class对象。这个Class对象提供了很多方法,getDeclaredClasses()就是其中一个。本文将为程序员介绍Java中的类getDeclaredClasses()方法及其示例。

什么是getDeclaredClasses()

getDeclaredClasses() 方法是Class类的一种方法,返回一个Class数组,其中包含由这个类声明的内部类和接口。即:该方法可以获取一个类中声明的所有内部类和接口的Class对象。

为什么需要getDeclaredClasses()

有时,一个类的定义中可能包含内部类。在某些情况下,我们需要使用这些内部类,而这时getDeclaredClasses()方法就非常有用了。通过该方法获取到内部类的Class对象,就可以使用这些内部类。

getDeclaredClasses()方法签名

getDeclaredClasses() 方法的签名如下:

public Class<?>[] getDeclaredClasses() throws SecurityException

返回值是一个Class<?>类型的一维数组,该数组包含了一个类声明的所有内部类和接口。

getDeclaredClasses()方法示例

以一个简单的例子来演示getDeclaredClasses()方法的用法,假设有如下Java类:

public class Example {
    private class InnerClass {
        public void sayHello() {
            System.out.println("Hello, I'm inner class.");
        }
    }

    public void sayHello() {
        System.out.println("Hello, I'm Example class.");
    }
}

在上述代码中,类Example包含一个私有内部类InnerClass。现在,我们通过getDeclaredClasses()方法来获取该类的内部类。

public class Main {
    public static void main(String[] args) {
        Class<?>[] innerClasses = Example.class.getDeclaredClasses();
        for (Class<?> cls : innerClasses) {
            System.out.println(cls.getName());
        }
    }
}

运行输出结果如下:

com.example.Example$InnerClass

说明我们成功获取了Example类中的InnerClass类的Class对象。

总结

getDeclaredClasses()方法可以获取一个类中声明的所有内部类和接口的Class对象。通过该方法可以方便地获取到内部类的Class对象。