package com.example; public class OuterClass { private int x = 10; public class InnerClass { public int getX() { return x; } } }
Class enclosingClass = InnerClass.class.getEnclosingClass(); System.out.println(enclosingClass.getName()); // prints com.example.OuterClass
package com.example; public class OuterClass { private int x = 10; public static class StaticNestedClass { public static void printX(OuterClass outer) { System.out.println(outer.x); } } }
Class enclosingClass = StaticNestedClass.class.getEnclosingClass(); System.out.println(enclosingClass.getName()); // prints nullThis code will print null because StaticNestedClass is a static nested class and does not have an enclosing instance. The package library of this example is com.example.