I think forget about your initial topic, at least in the way it was presented to you, because it causes no end confusion. I'd say analogs were chosen poorly, which in turn confused you.
When things get complicated, and difficult to explain, I usually try to find some silly examples which may or may not closer to real life examples.
1. Think of an array as an already built toolbox, which can hold either a set of hammers, or bunch of screws, or bunch of pliers or similar tools of one kind. That is how it was built and that is it.
2. Think of an object as a thing, which can be built to be a: either toolbox, or house, or phone, or car, or... anything what you could think of as a model from let's say real life.
So an array is already pre-built and could not be modified - so it serves a purpose of storing something. It is an object. Probably would be easier to think that everything is object, except few primitive types in java such as: booleans, ints, longs, chars, bytes...
Consider object as a material, which gets its form when is assembled based on needs. So if you need it to be able to store several different kind values in it, yes, you can configure it in such way so it could do that. If you need it so it couldn't store any value in it - you can make it so too.
Arrays in Java are being declared in such way as an example:
So such array would be able to hold 4 car objects in it. An array is denoted as  in Java. Car on the other hand, is a type of object an array can hold.
Now, how such Car object definition may look like:
As you see, I defined how my Car object will look like, meaning, what kind of information it will hold. So it will have its make, it will store its current speed. Make and Speed as you see are of different type, obviously... So I made it in the way it makes sense to me, which is going to be used in my hypothetical program.
So such object gets instantiated in the following way:
If you remember, I've declared one method in it, which is increaseSpeed(), so I can call it:
With an array on the other hand, you can't define methods yourself, because it was built already and most importantly, NOT BY YOU, so you have locked ability to add anything else than what was added by the guys who implemented presumably Java language. And as you saw, an array has "" this thing, which you don't use when you create object, so that is also a specific array's thing, which I don't think you need to know anything more about it (same as I).
And so really that is it I think.
What confuses you from all that?