You confuse array initialization with object initialization.
cc is an array of Customer (note, capitalized here).
In order to access the constructor of Customer and get an instance you would need to populate your array with instances.
To simplify your issue you can do:
cc = new Customer[100];
Arrays.fill(cc, new Customer(1));
This will fill your 100-sized array with 100 elements referencing one instance of Customer whose id will be 1.
Word of caution, the instance is shared across 100 elements.
In turn, if you modify one element you "modify the whole array", as shown below.
Self-contained example
public class Main {
public static void main(String[] args) {
// initializing array
Customer[] cc = new Customer[100];
// filling array
Arrays.fill(cc, new Customer(1));
// printing array
System.out.println(Arrays.toString(cc));
// changing any array element
cc[0].setId(2);
// printing array again
System.out.println(Arrays.toString(cc));
}
static class Customer {
int id;
int status;
Customer(int value) {
id = value;
status = 0;
}
// invoking this method on any object of the array will update all references
public void setId(int value) {
id = value;
}
@Override
public String toString() {
return String.format("Customer %d", id);
}
}
}
Output
[Customer 1, Customer 1, Customer 1, Customer 1, Customer 1, Customer 1, Customer 1, Customer 1, etc...]
[Customer 2, Customer 2, Customer 2, Customer 2, Customer 2, Customer 2, Customer 2, Customer 2, etc...]