Java Class 类 getDeclaredClasses()方法与示例

Class类getDeclaredClasses()方法

  • getDeclaredClasses()方法在java.lang包中可用。

  • getDeclaredClasses()方法用于返回反映对象定义的私有,受保护,公共和默认值的Class对象数组,但不包括子类或接口。

  • getDeclaredClasses()方法是一个非静态方法,只能使用类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • 返回一个Class对象数组时,getDeclaredClasses()方法可能会引发SecurityException
    SecurityException:在此异常中,当安全管理器存在时可能会引发此异常。

语法:

    public Class[] getDeclaredClasses ();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为Class,它返回一个Class对象数组,该数组表示该Class的已定义成员。

注意:

  • 当类未将类或接口声明为成员时,将返回0。

  • 当类反映原始类型或void类型或数组类型时,将返回0。

示例

//Java程序演示示例 
//类的[] getDeclaredClasses()方法 

public class GetDeclaredClassesOfClass {
    public static void main(String[] args) throws Exception {
        //它返回具有给定类名的Class对象
        Class cl = Class.forName("java.lang.String");

        //它返回一个类数组 
        //表示私有,受保护,公共和默认 
        //字符串类的类
        Class[] cl_array = cl.getDeclaredClasses();

        //遍历String类
        for (int i = 1; i < cl_array.length; ++i) {
            System.out.print(" String Declared Classes: ");
            System.out.println(cl_array[i].getName());
        }
    }
}

输出结果

Declared Classes:java.lang.String$CaseInsensitiveComparator