Static initialization block

As in the case of collections too, a static block can be used to initialize an array static property when some code has to be executed: 

class ManageArrays {
private static
A[] AS_STATIC;
static {
AS_STATIC = new A[2];
for(int i = 0; i< AS_STATIC.length; i++){
AS_STATIC[i] = new A();
}
AS_STATIC[0] = new A();
AS_STATIC[1] = new A();
}
//... the rest of class code goes here
}

The code in the static block is executed every time a class is loaded, even before the constructor is called. But if the field is not static, the same initialization code can be placed in the constructor:

class ManageArrays {
private
A[] as;
public ManageArrays(){
as = new A[2];
for(int i = 0; i< as.length; i++){
as[i] = new A();
}
as[0] = new A();
as[1] = new A();
}
//the reat of class code goes here
}