This is confused.
car[] car3[] = new car();
An array of type Car can be instantiated with
Car[] cars = new Car[3];
cars[0] = new Car();
cars[1] and cars[2] are both null, ie, these two elements of the cars array have not been initialized. The first element cars[0] has has been initialized.