Creando una matriz de objetos en Java

Soy nuevo en Java y por el momento creé una matriz de objetos en Java.

Tengo una clase A por ejemplo -

A[] arr = new A[4];

Pero esto solo está creando punteros (referencias) a A y no a 4 objetos. ¿Es esto correcto? Veo que cuando intento acceder a funciones / variables en los objetos creados, obtengo una excepción de puntero nulo. Para poder manipular / acceder a los objetos tuve que hacer esto -

A[] arr = new A[4];
for( int i=0; i<4; i++ )
    arr[i] = new A();

¿Es correcto o estoy haciendo algo mal? Si esto es correcto, es realmente extraño.

EDIT: Encuentro esto extraño porque en C ++ solo dices nueva A [4] y crea los cuatro objetos.

Respuestas a la pregunta(7)

Su respuesta a la pregunta