package com.logicbig.example.clazz;
import java.util.Arrays;
public class GetDeclaredClassesExample {
public static void main(String... args) {
System.out.println("-- declared classes --");
Class<?>[] classes = MyClass.class.getDeclaredClasses();
Arrays.stream(classes)
.forEach(c -> System.out.println(c.getSimpleName()));
System.out.println("-- classes --");
classes = MyClass.class.getClasses();
Arrays.stream(classes)
.forEach(c -> System.out.println(c.getSimpleName()));
}
public static class MyClass extends SuperClass {
private static interface APrivateInterface {
}
private static class APrivateClass {
}
public static class APublicClass {
}
}
private static class SuperClass {
public static interface ASuperPublicInnerInterface {
}
public static interface ASuperPublicInnerClass {
}
}
}
Output
-- declared classes --
APublicClass
APrivateClass
APrivateInterface
-- classes --
APublicClass
ASuperPublicInnerClass
ASuperPublicInnerInterface