public class LocalClass { Object f; void m() { class InnerLocalClass { Object f; } new Object() { Object f; class Test{ Object f; void m() { new Object() { Object f; }; new Object() { Object f; }; } } }; new Object() { Object f; }; } void m2() { class InnerLocalClass { Object f; class Inner { Object f; void m() { new Object() { Object f; }; new Object() { Object f; }; } } void m() { class OuterLocalClass { Object f; } } } } void m3() { class OuterLocalClass { Object f; void m() { class InnerLocalClass { Object f; } } } } }