- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包其他
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
Java 类 getDeclaredClasses() 方法
描述
Java 类 getDeclaredClasses() 方法返回一个 Class 对象数组,包括类声明的公共、受保护、默认(包)访问和私有类和接口,但不包括继承的类和接口。
如果类没有声明任何类或接口作为成员,或者此 Class 对象表示基本类型、数组类或 void,则此方法返回长度为 0 的数组。
声明
以下是 java.lang.Class.getDeclaredClasses() 方法的声明
public Class<?>[] getDeclaredClasses() throws SecurityException
参数
无
返回值
此方法返回表示此类所有声明成员的 Class 对象数组。
异常
SecurityException - 如果存在安全管理器 s。
获取所有声明的类示例
以下示例显示了 java.lang.Class.getDeclaredClasses() 方法的使用。在此程序中,ClassDemo 的类使用 forName() 方法检索。使用 getDeclaredClasses(),我们检索了在 ClassDemo 类内部声明的内部类。
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("ClassDemo"); /* returns the array of Class objects representing all the declared members of this class */ Class[] classes = cls.getDeclaredClasses(); for (int i = 0; i < classes.length; i++) { System.out.println("Class = " + 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 = ClassDemo$InnerPrivateClass Class = ClassDemo$InnerClass2 Class = ClassDemo$InnerClass1
获取 ArrayList 的所有声明类示例
以下示例显示了 java.lang.Class.getDeclaredClasses() 方法的使用。在此程序中,ArrayList 的类使用 class 属性检索。使用 getDeclaredClasses(),我们检索了在 ClassDemo 类内部声明的内部类。
package com.tutorialspoint; import java.util.ArrayList; public class ClassDemo { public static void main(String[] args) { // returns the Class object associated with this class Class cls = ArrayList.class; /* returns the array of Class objects representing all the declared members of this class */ Class[] classes = cls.getDeclaredClasses(); for (int i = 0; i < classes.length; i++) { System.out.println("Class = " + classes[i].getName()); } } }
输出
让我们编译并运行上述程序,这将产生以下结果:
Class = java.util.ArrayList$ListItr Class = java.util.ArrayList$Itr Class = java.util.ArrayList$SubList Class = java.util.ArrayList$ArrayListSpliterator
获取 Thread 的所有声明类示例
以下示例显示了 java.lang.Class.getDeclaredClasses() 方法的使用。在此程序中,Thread 的类使用 class 属性检索。使用 getDeclaredClasses(),我们检索了在 ClassDemo 类内部声明的内部类。
package com.tutorialspoint; public class ClassDemo { public static void main(String[] args) { // returns the Class object associated with this class Class cls = Thread.class; /* returns the array of Class objects representing all the declared members of this class */ Class[] classes = cls.getDeclaredClasses(); for (int i = 0; i < classes.length; i++) { System.out.println("Class = " + classes[i].getName()); } } }
输出
让我们编译并运行上述程序,这将产生以下结果:
Class = java.lang.Thread$FieldHolder Class = java.lang.Thread$ThreadIdentifiers Class = java.lang.Thread$Constants Class = java.lang.Thread$ThreadNumbering Class = java.lang.Thread$UncaughtExceptionHandler Class = java.lang.Thread$State Class = java.lang.Thread$Caches Class = java.lang.Thread$Builder
java_lang_class.htm
广告