title: Why make private inner class member public in Java?
body: <p>What is the reason of declaring a member of a private inner class public in Java if it still can't be accessed outside of containing class? Or can it?</p>
  
  <pre><code>public class DataStructure {
      // ...
  
      private class InnerEvenIterator {
          // ...
  
          public boolean hasNext() { // Why public?
              // ...
          }
      }
  }
  </code></pre>