En realidad el NullPointerException te daba por que definías la referencia al objeto pero no lo creabas , por lo tanto la referencia era nula , no hace falta que inicialices el array en el constructor , igual te interesa inicializarlo en otro punto, lo que siempre debes tener en cuenta es que antes de usarlo , debes asegurarte de que has creado el objeto, que no estás usando una referencia nula.
Saludos
Saludos