Per lo stesso motivo per cui puoi fare:

int[] arr = { 1, 2, 3 };

oppure:

int[] arr;
arr = new int[] { 1, 2, 3 };

Nel primo caso hai una inizializzazione, nel secondo caso hai la creazione di un array "anonimo" che viene quindi assegnato alla variabile.