title: How I created objects of an abstract class?
body: <ol>
  <li>Why <code>GeometricObject[] abstractObjects = new GeometricObject[10];</code> don't cause error that I create objects of an abstract class?</li>
  <li>What's the difference between <code>A[] objects;</code> and <code>A[] objects = new A[7];</code></li>
  </ol>
  <pre><code>public class Test
  {
      public static void main(String[] args)
      {
          int[] numbers = new int[8];
          A[] objects = new A[7];
          GeometricObject[] abstractObjects = new GeometricObject[10];
          System.out.println(numbers[3]); // prints 0
          System.out.println(objects[4]); // prints null
          System.out.println(abstractObjects[6]); // prints null
      }
  }
  
  abstract class GeometricObject {}
  
  class A
  {
      public int number;
      A()
      {
          number = 13;
      }
  }
  </code></pre>