@@ -0,0 +1,1195 @@
+%0Apublic class EnclosingEnum %7B%0A%0A    private class Inner %7B %7D%0A    private class InnerA extends Inner %7B %7D%0A    private class InnerB extends Inner %7B %7D%0A    private class InnerC extends Inner %7B %7D%0A%0A    enum InnerEnum %7B%0A        INNER_A %7B%0A            @Override%0A            public Inner getInstance() %7B%0A                return new InnerA();%09//Compile Error.%0A            %7D%0A        %7D,%0A        INNER_B %7B%0A            @Override%0A            public Inner getInstance() %7B%0A                //return new InnerB();%0A                return new EnclosingEnum.InnerB();%09//Compile Error.%0A            %7D%0A        %7D,%0A        INNER_C %7B%0A            @Override%0A            public Inner getInstance() %7B%0A                //return new InnerC();%0A                return EnclosingEnum.new InnerC();%09//Compile Error.%0A            %7D%0A        %7D,%0A        ;%0A%0A        public abstract Inner getInstance();%0A    %7D%0A%0A    private static class InnerFactoryEnumStyled %7B%0A        public static Inner getInner(InnerEnum inner) %7B%0A            return inner.getInstance();%0A        %7D%0A    %7D%0A%0A%0A    public static void main(String%5B%5D args) %7B%0A        System.out.println(%22Hello World.%22);%0A%0A        Inner inner = InnerFactoryEnumStyled.getInner(InnerEnum.INNER_A);%0A   %7D%0A%0A%7D%0A

Add a sample of Java inner class