Code
import java.util.Arrays;
class NestedInfoDemo {
public static void main(final String[] args) {
printMemberClasses(Class1.class);
}
public static void printMemberClasses(final Class dataType) {
final Class[] nestedClasses = dataType.getClasses();
final Class[] declaredNestedClasses = dataType.getDeclaredClasses();
final Class[] nestedInterfaces = dataType.getInterfaces();
final Class declaringClass = dataType.getDeclaringClass();
System.out.println("Member Class info for: " + dataType.getName());
System.out.println("Nested Classes: " + Arrays.asList(nestedClasses));
System.out.println("Declared Nested Classes: " + Arrays.asList(declaredNestedClasses));
System.out.println("Interfaces: " + Arrays.asList(nestedInterfaces));
System.out.println("Declaring Class: " + declaringClass);
System.out.println();
}
interface Int1 {
}
interface Int2 {
}
interface Int3 {
}
class Class1 implements Int1, Int2, Int3 {
public class Class4 {
}
}
class Class2 {
}
class Class3 {
}
}
import java.util.Arrays;
class NestedInfoDemo {
public static void main(final String[] args) {
printMemberClasses(Class1.class);
}
public static void printMemberClasses(final Class dataType) {
final Class[] nestedClasses = dataType.getClasses();
final Class[] declaredNestedClasses = dataType.getDeclaredClasses();
final Class[] nestedInterfaces = dataType.getInterfaces();
final Class declaringClass = dataType.getDeclaringClass();
System.out.println("Member Class info for: " + dataType.getName());
System.out.println("Nested Classes: " + Arrays.asList(nestedClasses));
System.out.println("Declared Nested Classes: " + Arrays.asList(declaredNestedClasses));
System.out.println("Interfaces: " + Arrays.asList(nestedInterfaces));
System.out.println("Declaring Class: " + declaringClass);
System.out.println();
}
interface Int1 {
}
interface Int2 {
}
interface Int3 {
}
class Class1 implements Int1, Int2, Int3 {
public class Class4 {
}
}
class Class2 {
}
class Class3 {
}
}
Sample Output
Member Class info for: org.reflection.NestedInfoDemo$Class1
Nested Classes: [class org.reflection.NestedInfoDemo$Class1$Class4]
Declared Nested Classes: [class org.reflection.NestedInfoDemo$Class1$Class4]
Interfaces: [interface org.reflection.NestedInfoDemo$Int1, interface org.reflection.NestedInfoDemo$Int2, interface org.reflection.NestedInfoDemo$Int3]
Declaring Class: class org.reflection.NestedInfoDemo
No comments:
Post a Comment