@@ -0,0 +1,1531 @@
+class OuterClass%0A%7B%0A    int i = 10;   //Non-static Field of OuterClass%0A %0A    static void methodOne()%0A    %7B%0A        System.out.println(%22Static method of OuterClass%22);%0A    %7D%0A %0A    static class NestedClassOne%0A    %7B%0A        int i = 20;   //Non-static Field of NestedClassOne%0A %0A        static void methodOne()%0A        %7B%0A            System.out.println(%22Static method of NestedClassOne%22);%0A        %7D%0A    %7D%0A %0A    static class NestedClassTwo%0A    %7B%0A        int i = 30;    //Non-static Field of NestedClassTwo%0A %0A        static void methodOne()%0A        %7B%0A            System.out.println(%22static method of NestedClassTwo%22);%0A        %7D%0A    %7D%0A%7D%0A %0Aclass Runner%0A%7B%0A    public static void main(String%5B%5D args)%0A    %7B%0A        OuterClass.methodOne();      //static member can be accessed directly through class name.%0A        OuterClass outer = new OuterClass();%0A        System.out.println(outer.i);  //Instance member must be accessed through object reference%0A %0A        OuterClass.NestedClassOne.methodOne();  //static member can be accessed directly through class name.%0A        OuterClass.NestedClassOne nestedOne = new OuterClass.NestedClassOne();%0A        System.out.println(nestedOne.i);     //Instance member must be accessed through object reference%0A %0A        OuterClass.NestedClassTwo.methodOne();  //static member can be accessed directly through class name.%0A        OuterClass.NestedClassTwo nestedTwo = new OuterClass.NestedClassTwo();%0A        System.out.println(nestedTwo.i);     //Instance member must be accessed through object reference%0A    %7D%0A%7D%0A

Create AccessNestedClass.java