Wednesday, April 27, 2011

Extending an inner class in a sub class of the top level class.


class OuterExtended extends OuterMost{
   String str = new  String("OuterExtended");
   class InnerOneExtended extends InnerOne{
      String str = new String("InnerOneExtended");
      class NestedExtended extends InnerNestedOne{
         String str = new String("NestedExtended");
         NestedExtended(int id){
            super(id);
         }
         public void printAllClasses( ){
            System.out.println("Class name: "+ this.str);
            System.out.println("Class name: "+
                                InnerOneExtended.this.str);
            System.out.println("Class name: "+
                                OuterExtended.this.str);
            super.printAllClasses();
         }
      } //End of NestedOneExtended
   }// End of InnerOneExtended
   public static void main(String args[]){
      OuterExtended outerE = new OuterExtended();
      InnerOneExtended innerE = outerE. new InnerOneExtended();
      InnerOneExtended.NestedExtended nestedE = innerE .new NestedExtended(200);
      nestedE.printAllClasses();
   }
} //End of OuterExtended

No comments:

Post a Comment