Java Reflection Java Java API
java.lang.Class
public Class<?> getDeclaringClass() throws SecurityException
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 {}}
class com.logicbig.example.clazz.GetDeclaringClassExample
package com.logicbig.example.clazz;public class GetDeclaringClassExample2 { public static void main(String... args) { Class<GetDeclaringClassExample2> c = GetDeclaringClassExample2.class; System.out.println(c.getDeclaringClass()); }}
null
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()); }}
nullnull
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 {} }}
class com.logicbig.example.clazz.GetDeclaringClassExample4$MyClass