class Outer { class Inner extends Outer {} } class Impl extends Outer.Inner {} class Impl1 { class InnerImpl extends Outer.Inner {} } class Impl2 extends Outer { { class L extends Outer.Inner {} } class In extends Outer.Inner {} static class In1 extends Outer.Inner {} }