title: length of array of private class is not accessible
body: <p>Please consider the following code : </p>
  
  <pre><code>class A {
      B[] arr = new B[10];
  
      private class B {}
  }
  
  
  class C {
      void fun(){
          A a = new A();
          Object arr = a.arr;
          Object len = a.arr.length;  // !! ERROR
      }
  }
  </code></pre>
  
  <p>As I written in code. <code>a.arr.length;</code> is giving error.</p>
  
  <p>I actually understand why it is happening. It is because sub class <code>B</code> is private. But still why it is happening. In class A, property <code>arr</code> was accessible, but why not it's length. Is there any explanation for this in jls or anywhere.</p>
  
  <p>I just want a clear explanation for this behaviour. I know private things cannot be accessed outside of its class. But a public array could be. No matter of what type it is. And if anything is accessible outside, then its public properties should also be accessed. But here it is not happening.</p>
  
  <p><strong>Edit :</strong> I found that in C# it is not even possible to create an array of private class. In java if we cannot access anything, and cannot even know the length of the array of private class then what is the use of creating an array of private class. </p>