
- 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
廣告