I know that you can initialize an array like this.
int[] a1=new int[2]{4,5};
or like this and then assign the values manually.
int[] a1=new int[2];
or like this
int[] a2={45,45};
Since Arrays are implemented as objects and the 'new' keyword allocates space for the object in the memory, I am wondering how is the memory allocated when initializing an array without the 'new' keyword(int[ ] a2={45,45};)?