title: Inner Outer class relationship
body: <p>I encountered a similar scenario from a project which I'm currently working on. I tried simulating the same with some general context. Follow the code below:</p>
  
  <pre><code>interface Receptor
  {
      public void recept();  
  }
  
  class Human
  {
      private void bloodCirculate(String receptor)
      {
          System.out.println("Blood flows in " + receptor);
      }
  
      public class Eye implements Receptor
      {    
          @Override
          public void recept()
          {
              bloodCirculate("eye");
              System.out.println("Look");      
          }
      }
  
      private class Ear implements Receptor
      {    
          @Override
          public void recept()
          {
              bloodCirculate("ear");
              System.out.println("Listen");      
          }
      }
  
      private void recept(Receptor receptor)
      {
          receptor.recept();    
      }
  
      public void look()
      {
          recept(new Eye());
      }
  
      public void listen()
      {
          recept(new Ear());
      }
  }
  </code></pre>
  
  <p>I was trying of identifying the relationship between the two classes. It's not inheritance because, outer class's private methods are accessible within the inner class. It slightly looks Association relation since the inner class's object is kept within the outer class.</p>