class Pos { class Member {} static class Nested {} void testSimple() { Member m1 = new Member<>() {}; Nested m2 = new Nested<>() {}; } void testQualified() { Member m1 = this.new Member<>() {}; Nested m2 = new Pos.Nested<>() {}; Nested m3 = new Pos.Nested<>() {}; } }