package com.logicbig.example.clazz;
public class GetDeclaringClassExample {
public static void main(String... args) {
Class<MyClass> c = MyClass.class;
Class<?> declaringClass = c.getDeclaringClass();
System.out.println(declaringClass);
}
private static class MyClass {}
}
Output
class com.logicbig.example.clazz.GetDeclaringClassExample
getEnclosingClass() returns non-null value.
package com.logicbig.example.clazz;
import java.io.Serializable;
public class GetDeclaringClassExample3 {
public static void main(String... args) {
//an anonymous class
Class<? extends Serializable>
aClass = new Serializable() {}.getClass();
System.out.println(aClass.getDeclaringClass());
Serializable s = new Serializable() {};
System.out.println(s.getClass().getDeclaringClass());
}
}
Output
null
null
package com.logicbig.example.clazz;
public class GetDeclaringClassExample4 {
public static void main(String... args) {
Class<MyClass.AnInnerInterface> c = MyClass.AnInnerInterface.class;
Class<?> declaringClass = c.getDeclaringClass();
System.out.println(declaringClass);
}
private static class MyClass {
private static interface AnInnerInterface {}
}
}
Output
class com.logicbig.example.clazz.GetDeclaringClassExample4$MyClass