When I declare an Integer array in Java, I get no error when I do this
Integer ans = new Integer;
Integer ans = new Integer();
If you instantiate a new Array you do not instantiate the class of its members. The
() is selecting a constructor, Arrays do not have this possibility.
If you check the Java Language Specification 10.3 you read:
An array is created by an array creation expression (§15.10) or an array initializer (§10.6).
An array creation expression specifies the element type, the number of levels of nested arrays, and the length of the array for at least one of the levels of nesting. ...
An array initializer creates an array and provides initial values for all its components.
As you can see there is no constructor mentioned.