1  // ShowInnerClass.java: Demonstrate using inner classes
  2  public class ShowInnerClass {
  3    private int data;
  4  
  5    /** A method in the outer class */
  6    public void m() {
  7      // Do something
  8      InnerClass instance = new InnerClass();
  9    }
 10  
 11    // An inner class
 12    class InnerClass {
 13      /** A method in the inner class */
 14      public void mi() {
 15        // Directly reference data and method defined in its outer class
 16        data++;
 17        m();
 18      }
 19    }
 20  }